我对网络的了解很少。我发现了一个悖论,需要关于如何解决这个问题的建议。
实验1:在python脚本中使用tor/polipo http代理的机械化浏览器发出URL请求。实际的IP会显示在站点的日志中。(意想不到的结果:我希望显示tor IP。)
实验2:在python脚本中使用tor/polipo http代理的机械化浏览器向whatismyip发出URL请求。tor代理IP as显示在结果中。(预期)
实验3:使用tor代理的Firefox浏览器指向whatismyip。显示了与实验2相同的IP。(预期)
实验4:没有代理的Chrome浏览器指向whatismyip,机器的实际IP如实验1所示。(预期)
实验5: Mac上系统网络设置中的HTTP代理被设置为在侦听端口8123上使用tor/polipo代理。实验4中的Chrome浏览器现在显示与实验2和3相同的tor。(预期)
Tor正在运行。Polipo正在运行,并配置为使用tor端口9050。
我的python代码:
import sys, time, os
from mechanize import Browser
br = Browser() # Create a browser
br.set_proxies({"http": "localhost:8123"}) #set proxy
result = br.open(URL) # Open the login page
print result.read() #print resulting output哪里
URL = 'http://affinityehealth.com' | URL = 'http://whatismyip.com'
#case 1 is able to find the actual IP using the browser in mechanize but not with any other browser using the tor proxy我试图向网站的管理员表明,虽然登录IP是有用的,但它并不能证明签到人员的实际位置。几周来,我一直在使用tor演示,虽然我的物理位置没有改变,但当我通过tor签入时,站点日志中信息请求者的物理位置似乎发生了变化。
我真的希望当我使用机械化以自动方式访问这个网站进行测试时,我的tor IP能够显示出来。
我还有最后一个实验要尝试,那就是在网络控制面板中将系统范围的代理设置设置为tor。我真的很讨厌把这个放在常规浏览中,因为它的速度要慢得多。我只想让我的python脚本通过polipo http代理使用tor。
python新手。对tor来说是个新手。网络新手,所以我提前感谢您在简单的解释中多余的解释。
发布于 2013-01-25 06:55:00
这与tor和mechanize一起工作:
import socks
import socket
def create_connection(address, timeout=None, source_address=None):
sock = socks.socksocket()
sock.connect(address)
return sock
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
# patch the socket module
socket.socket = socks.socksocket
socket.create_connection = create_connection
import urllib2
print urllib2.urlopen('http://icanhazip.com').read()
import mechanize
from mechanize import Browser
br = Browser()
print br.open('http://icanhazip.com').read()https://stackoverflow.com/questions/14257839
复制相似问题