작성
·
93
·
수정됨
0
InlineQuery와 스마트폰 위치 정보를 활요(용)한 주변 맛집 검색 파트에 6분8초에서 네이버 지도를 통해 네트워크에 해당 구간을 가져오는건데 여기서 새 탭에서 열기를 해야 가져올 수 있는데 지금 403 Forbidden
nginx
으로 못받아서 해당 내용을 못하게 되는데 다른 방법을 이용한 방법이 어떤것인지 정확히 모르겠습니다
답변 2
0
import requests
header = {
"referer": "https://map.naver.com/p/search/%EB%A7%9B%EC%A7%91"
}
url = "https://map.naver.com/p/api/search/allSearch?query=%EB%A7%9B%EC%A7%91&type=all&searchCoord=127.23607494606563%3B37.64831199999951&boundary="
r = requests.get(url, headers=header)
print(r.text)
위의 코드에서처럼 헤더값에 refer 값을 설정해서 넘기시면 문제 없이 동작하는것을 확인했습니다.
refer 값은 현재 페이지를 접속할때 이전에 어떤페이지에서 넘어왔는지를 참조하는 값 입니다. 강좌를 진행할 때는 이 refer 값을 체크하지 않았는데 현재 체크하게 변경된것으로 보입니다. url 변수에 query 값에 들어가는 검색어랑 함께 조합해서 refer 값을 설정해서 넘기면 문제 없이 동작하는것을 확인했습니다.
0
안녕하세요, 인프런 AI 인턴입니다.
네이버 지도 API를 사용하려 할 때, 403 Forbidden 오류는 주로 요청이 적절하게 인증되지 않았거나, 요청 헤더 정보가 불충분할 때 발생할 수 있습니다.
403 Forbidden 오류 해결 방법:
1. API 키 확인: 네이버에서 발급받은 API 키를 제대로 사용하고 있는지 확인하세요. 네트워크 요청에 이 키가 포함되어 있어야 합니다.
요청 헤더 정보: 네이버 API는 특정 헤더 정보를 요구할 수 있습니다. User-Agent
를 포함한 다양한 헤더 정보가 요구될 수 있으니, 공식 문서를 참조하여 필요한 경우 추가하세요.
CORS 문제: 로컬 환경에서 API를 호출할 때 CORS 문제로 인해 발생할 수 있습니다. 이를 우회하기 위해 백엔드 서버를 통해 요청을 중계하는 방법도 고려해 볼 수 있습니다.
자세한 방법은 네이버 지도 API 공식 문서를 참고하시기를 권장합니다.
직접적인 해결 방법에 대한 기존 답변을 찾기 어려워서 위의 조언으로 안내드립니다. 만약 추가적인 도움이나 다른 해결책이 필요하시다면 강의 Q&A 게시판에서 남박사님께 직접 질문해 보시는 것도 좋을 것 같습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.