1

我对网络的了解很少。我发现了一个悖论,需要有关如何解决此问题的建议。

实验 1:在 python 脚本中带有 tor/polipo http 代理的机械化浏览器请求 URL。实际 IP 显示在站点的日志中。(意外结果:我希望公开 Tor IP。)

实验 2:在 python 脚本中带有 tor/polipo http 代理的机械化浏览器向 whatismyip 请求 URL。结果中显示的 Tor 代理 IP。(预期的)

实验 3:使用 tor 代理的 Firefox 浏览器指向 whatismyip。显示与实验 2 相同的 IP。(预期的)

实验4:没有代理的Chrome浏览器指向whatismyip,机器的实际IP如实验1所示。(预期)

实验 5:Mac OS X 系统网络设置中的 HTTP 代理设置为在监听端口 8123 上使用 tor/polipo 代理。实验 4 中的 Chrome 浏览器现在显示与实验 2 和 3 相同的 tor IP。(预期)

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 签入时,信息请求者的物理位置似乎在站点的日志中发生了变化。

当我使用 mechanize 以自动方式访问该网站进行测试时,我真的希望我的 tor IP 出现。

我有最后一个实验要尝试,那就是在网络控制面板中将我的系统范围代理设置设置为 tor。我真的很讨厌让这个检查来进行常规浏览,因为它明显慢得多。我只希望我的 python 脚本通过 polipo http 代理使用 tor。

蟒蛇新手。新的 tor。网络新手,所以我提前感谢您在您的简单解释中冗余冗余。

4

1 回答 1

1

这适用于 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()
于 2013-01-24T22:55:00.233 回答