Skip to main content
 首页 » 编程设计

不使用代理的 Python 请求库

2025年05月04日17lori

我在请求网站时遇到了一些困难,无法获得使用代理地址的请求。没有返回错误,但通过让脚本返回 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)