>백엔드 개발 >파이썬 튜토리얼 >Python 요청에서 \'403 Forbidden\' 오류를 수정하는 방법은 무엇입니까?

Python 요청에서 \'403 Forbidden\' 오류를 수정하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-01 17:04:03543검색

How to Fix

Python 요청을 사용하여 API 호출에서 "403 Forbidden" 오류 해결

Python의 요청 라이브러리를 사용하여 웹사이트를 구문 분석하려고 하면 "403 Forbidden" 오류가 발생할 수 있습니다. . 이 오류는 일반적으로 적절한 인증 또는 권한이 부족하여 서버가 요청을 거부했음을 나타냅니다.

오류 예

다음 코드를 고려하세요.

<code class="python">url = 'http://worldagnetwork.com/'
result = requests.get(url)
print(result.content.decode())</code>

이 코드 지정된 URL의 콘텐츠를 검색하고 디코딩하려고 시도합니다. 그러나 다음과 같은 출력이 생성됩니다.

<code class="html"><html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html></code>

근본 원인

이 특정 경우에는 서버가 User-Agent 헤더 없이 GET 요청을 거부하기 때문에 문제가 발생합니다. User-Agent 헤더는 요청을 보내는 브라우저나 애플리케이션을 식별하며, 이는 서버가 요청 처리 방법을 결정하는 데 도움이 됩니다.

해결책

이 문제를 해결하려면 User-Agent 헤더를 명시적으로 지정하세요. 귀하의 요청에. 예는 다음과 같습니다.

<code class="python">import requests

url = 'http://worldagnetwork.com/'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
result = requests.get(url, headers=headers)
print(result.content.decode())</code>

User-Agent 헤더를 적절한 값으로 설정하면 다음 출력에서 ​​볼 수 있듯이 효과적으로 브라우저를 모방하고 웹 사이트의 콘텐츠를 성공적으로 검색할 수 있습니다.

<code class="html"><!doctype html>
<!--[...]-->
<!--[...]--></code>

위 내용은 Python 요청에서 '403 Forbidden' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.