簡體   English   中英

瀏覽器返回 200 而 requests.get 返回 403

[英]Browser gives 200 return while requests.get gives 403

我不明白我錯過了什么。 如果我打開一個新的瀏覽器,清除所有 cookies、緩存、所有內容和 go 到這個特定站點的 api 端點(“api.site.com/data?key=my_key”),我會得到一個正確的 200 響應數據返回。 我 go 在我的瀏覽器中開發工具,復制隨該請求發送的每個 header 並將其包含在我的請求中:

headers =  {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "Accept-Language": "en-US,en;q=0.5",
        "Accept-Encoding": "gzip, deflate, br",
        "Connection": "keep-alive",
        "DNT": "1",
        "Host": "api.site.com",
        "Upgrade-Insecure-Requests": "1",
        "Sec-Fetch-Dest": "document",
        "Sec-Fetch-Mode": "navigate",
        "Sec-Fetch-Site": "none",
        "Sec-Fetch-User": "?1"
    }
r = requests.get("api.site.com/data?key=my_key", headers=headers)
print(r.status_code)

雖然返回狀態代碼是 403,但我收到了 cloudflare 1020 錯誤。 我還缺少什么可以讓 cloudflare 區分這兩個請求? 標頭相同,這是一個簡單的獲取請求,也沒有發送 cookies。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM