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

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

DDD
發布: 2024-11-01 17:04:03
原創
544 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板