我在请求网站时遇到了一些困难,无法获得使用代理地址的请求。没有返回错误,但通过让脚本返回 http://ipecho.net/plain , 我可以看到我自己的 IP,而不是代理的 IP。
import random
import requests
import time
def proxy():
proxy = (random.choice(proxies)).strip()
print("selected proxy: {0}".format(proxy))
url = 'http://ipecho.net/plain'
data = requests.get(url, proxies={"https": proxy})
print(data)
print("data returned: {0}".format(data.text))
proxies = []
with open("proxies.txt", "r") as fi:
for line in fi:
proxies.append(line)
while True:
proxy()
time.sleep(5)
proxies.txt文件的结构如下:
https://95.215.111.184:3128
https://79.137.80.210:3128
谁能解释这种行为?
请您参考如下方法:
您传递的 URL 是 http,您只提供一个 https 代理 key 。您需要在 proxies 字典中为 http 和 https 创建一个 key 。它们可以指向相同的值。
proxies = {'http': 'http://proxy.example.com', 'https': 'http://proxy.example.com'}
data = requests.get(url, proxies=proxies)
