首頁  >  文章  >  後端開發  >  如何修復 Python 請求中的「403 Forbidden」錯誤?

如何修復 Python 請求中的「403 Forbidden」錯誤?

DDD
DDD原創
2024-11-01 17:04:03462瀏覽

How to Fix

使用Python 請求解決API 呼叫中的“403 Forbidden”錯誤

嘗試使用Python 的requests 庫解析網站時,可能會遇到“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