首頁  >  文章  >  後端開發  >  為什麼我在進行 Python 請求 API 呼叫時收到「403 Forbidden」錯誤?

為什麼我在進行 Python 請求 API 呼叫時收到「403 Forbidden」錯誤?

Susan Sarandon
Susan Sarandon原創
2024-11-02 03:19:30584瀏覽

Why Am I Getting a

對Python 請求API 呼叫中的「403 Forbidden」錯誤進行故障排除

當嘗試使用Python 的requests 模組從網站擷取資料時,它不是遇到“403 Forbidden”錯誤的情況並不常見。此錯誤表示伺服器由於存取限製而拒絕滿足請求。

請考慮以下程式碼片段:

<code class="python">import requests

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

執行時,此程式碼可能會傳回以下錯誤:

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

本例中的問題是由於網站拒絕缺少正確User-Agent 標頭的GET 請求。透過在瀏覽器(例如​​ Chrome)中存取頁面並檢查網路流量,我們可以確定瀏覽器使用的 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 標頭後,請求現在應該成功解析網站的HTML內容。

以上是為什麼我在進行 Python 請求 API 呼叫時收到「403 Forbidden」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn