簡體   English   中英

Python requests.get代理無法正常工作?

[英]Python requests.get proxy not working?

我是新開發者,所以請原諒我的無知。

我試圖使用代理訪問Python中的一些網頁。 我已經嘗試使用urllib2和請求模塊以及我相信正在工作的各種代理。 但是,當我去網站驗證我的IP是否顯示為代理時,它仍然顯示我的實際IP地址而不是代理!

這使我得出結論,有四種可能的事情發生:

  1. 這些模塊壞了。 這似乎不太可能,但可能。
  2. 我的代碼不正確。 極有可能,但我無法確定任何錯誤。
  3. 有一些方法可以檢測根IP,即使它們是通過代理進行路由。
  4. 我沒有想到的東西。

任何幫助表示贊賞!

import requests
import urllib2
from bs4 import BeautifulSoup

# Using requests module
proxy_dict = {"http":"http://123.45.172.115:8080"}
url = 'https://check.torproject.org/'
response = requests.get(url, proxies=(proxy_dict))
html = response.content
soup = BeautifulSoup(html)
ip = str(soup.b.text)

# Using urllib2
prox = urllib2.ProxyHandler(proxy_dict)
opener = urllib2.build_opener(prox, urllib2.HTTPHandler(debuglevel=1))
urllib2.install_opener(opener)
response = opener.open(url)

你的代碼似乎非常正確。 我懷疑這些網站實際上正在使用X_FORWARDED_FOR或其他類似的HTTP標頭值,使您的選項編號3最有可能。

您的所有示例當然都使用我的原始IP地址而不是我的代理地址,除非我通過VPN反彈,這表明他們實際上正在使用此標頭。

我遇到了類似的問題,結果證明它是一個透明的代理,並且傳遞了根IP。 因此選項3。

您可以通過http://www.lagado.com/proxy-test運行請求來進一步測試

這會向您顯示您的請求所經歷的任何透明代理,因此您可以測試代理實際上是否正常工作。

暫無
暫無

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

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