簡體   English   中英

Python請求模塊-代理不起作用

[英]Python Requests module - proxy not working

我正在嘗試使用python請求連接到網站,但沒有使用我的真實IP。 因此,我在互聯網上找到了一些代理,並編寫了以下代碼:

import requests

proksi = {
    'http': 'http://5.45.64.97:3128'
}

x = requests.get('http://www.whatsmybrowser.org/', proxies = proksi)
print(x.text)

當我得到輸出時,簡單的代理不起作用。 網站返回了我的真實IP地址。 我做錯了什么? 謝謝。

答案很簡單。 盡管它是代理服務,但不能保證100%的匿名性。 通過代理服務器發送HTTP GET請求時,程序發送到代理服務器的請求為:

GET http://www.whatsmybrowser.org/ HTTP/1.1
Host: www.whatsmybrowser.org
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.10.0

現在,當代理服務器將此請求發送到實際目的地時,它將發送:

GET http://www.whatsmybrowser.org/ HTTP/1.1
Host: www.whatsmybrowser.org
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.10.0
Via: 1.1 naxserver (squid/3.1.8)
X-Forwarded-For: 122.126.64.43
Cache-Control: max-age=18000
Connection: keep-alive

如您所見,它將IP(在我的情況下為122.126.64.43122.126.64.43在HTTP標頭中: X-Forwarded-For ,因此網站知道請求是代表122.126.64.43發送的

在以下網址了解有關此標頭的更多信息: https : //tools.ietf.org/html/rfc7239

如果要托管自己的魷魚代理服務器,並且想禁用X-Forwarded-For標頭設置,請閱讀: http : //www.squid-cache.org/Doc/config/forwarded_for/

暫無
暫無

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

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