簡體   English   中英

Python 請求沒有改變 IP

[英]Python requests doesn't change IP

我目前正在為 Python 構建一個代理輪轉器。到目前為止一切都運行良好,除了事實上盡管有代理,跟蹤器頁面返回我自己的 IP。

我已經閱讀了該論壇中的數十篇帖子。 它經常說“在這種情況下代理有問題”。

我有一個很長的代理列表(大約 600 個),我用我的方法對其進行了測試,並且在我將它們放入此列表之前確保在廢棄它們時將它們標記為“精英”或“匿名”。

那么,在匿名方面,是不是大多數免費代理都是“垃圾”,或者我從根本上做錯了什么?

基本上有沒有辦法找出代理是如何設置匿名的?

Python 3.10。

import requests

headers = {
    "User-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"
}

proxi = {"http": ""}

prox_ping_ready = [173.219.112.85:8080,
43.132.148.107:2080,
216.176.187.99:8886,
193.108.21.234:1234,
151.80.120.192:3128,
139.255.10.234:8080,
120.24.33.141:8000,
12.88.29.66:9080,
47.241.66.249:1081,
51.79.205.165:8080,
63.250.53.181:3128,
160.3.168.70:8080]


ipTracker = ["wtfismyip.com/text", "api.ip.sb/ip", "ipecho.net/plain", "ifconfig.co/ip"]

for element in proxy_ping_ready:
    for choice in ipTracker:
        try:
            proxi["http"] = "http://" + element

            ips = requests.get(f'https://{choice}', proxies=proxi, timeout=1, headers=headers).text

            print(f'My IP address is: {ips}', choice)
        except Exception as e:

            print("Error:", e)

    time.sleep(3)

輸出(示例):

My IP address is: 89.13.9.135
 api.ip.sb/ip

My IP address is: 89.13.9.135
 wtfismyip.com/text

My IP address is: 89.13.9.135
 ifconfig.co/ip

(每次都是我自己的地址)。

您只需為http流量設置代理,您還需要為https流量包含一個密鑰。

proxi["http"] = "http://" + element
proxi["https"] = "http://" + element  # or "https://" + element, depends on the proxy

正如詹姆斯提到的,您還應該使用 https 代理

proxi["https"] = "http://" + element

如果您max retries with url則很可能意味着代理不工作或速度太慢且過載,因此您可能會增加超時。

您可以通過將代理設置為環境變量來驗證您的代理是否正常工作。 我從你的單子里拿了一個

import os
os.environ["http_proxy"] = "173.219.112.85:8080"
os.environ["https_proxy"] = "173.219.112.85:8080"

然后通過將您的請求更改為在沒有代理設置的情況下運行您的代碼

ips = requests.get(f'wtfismyip.com/text',  headers=headers).text

暫無
暫無

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

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