Python请求库不使用代理

Sim*_*ley 1 python proxy python-requests

我在请求网站时遇到使用代理地址的请求时遇到了一些困难.没有错误返回但是通过让脚本返回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)
Run Code Online (Sandbox Code Playgroud)

proxies.txt文件的结构如下:

https://95.215.111.184:3128
https://79.137.80.210:3128
Run Code Online (Sandbox Code Playgroud)

谁能解释这种行为?

And*_*ndy 6

您传递的URL是http,您只提供https代理密钥.您需要创建在一个关键的proxies字典都httphttps.这些可以指向相同的值.

proxies = {'http': 'http://proxy.example.com', 'https': 'http://proxy.example.com'}
data = requests.get(url, proxies=proxies)
Run Code Online (Sandbox Code Playgroud)