2017-07-24 84 views
1

我在請求網站時遇到一些使用代理地址的請求時遇到一些困難。沒有錯誤返回,但通過讓腳本返回http://ipecho.net/plain,我可以看到自己的IP,而不是代理的IP。Python請求庫不使用代理

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 

任何人都可以解釋這種現象?

+0

你會得到什麼輸出? –

回答

6

您傳遞的網址是http,您只能提供https代理密鑰。您需要在proxies字典中爲httphttps創建一個密鑰。這些可以指向相同的價值。

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