当前位置: 首页 > 知识库问答 >
问题:

将polipo和tor与python mechanize浏览器一起使用,可以显示一个站点的ip,而不是另一个站点的ip

秦宏盛
2023-03-14

我对人脉的了解很少。我发现了一个悖论,需要建议如何解决。

实验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

我试图向网站管理员指出,虽然登录IPS是有用的,但它并不能证明登录者的实际位置。几个星期以来,我一直在使用tor演示,虽然我的物理位置没有改变,但是当我通过tor签入时,信息请求者的物理位置似乎在站点日志中发生了改变。

我真的希望我的tor IP在我使用mechanize以一种自动化的方式进入这个web站点进行测试时显示出来。

我还有最后一个实验要尝试,那就是在网络控制面板中将我的系统范围的代理设置设置为tor。我真的不喜欢把它留在常规浏览中,因为它明显慢了很多。我只希望我的python脚本通过polipo http代理使用tor。

Python新手。新来的。我是网络的新手,所以我要提前感谢你在简单的解释中所做的多余的解释。

共有1个答案

姜俊友
2023-03-14

这与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()
 类似资料:
  • 我有一个wordpress多站点在Centos 6.5在 /var/www/html/site1访问在site1.com和一切都很好。 我想安装一个单一的网站称为site2在 /var/www/html/site2但可在site1.com/site2 这个site1的conf具有如下服务器块: 当我使用try files try_files/index时。html/索引。php$uri$uri/;

  • 有一个简单的网站,我们称之为http://foo.com/,使用一个简单的用户/通行证表单将post请求发送到http://foo.com/login.php登录用户。 如何在另一个网站中创建一个链接,比如说http://foo_autologin.com/,它将在http://foo.com/上用预先确定的密码登录,并在另一个标签中打开它,登录?

  • 我有两个php应用程序:一个托管在example.com上,一个托管在example.org上。这两个应用程序都是不可或缺的,这意味着当用户使用example.com的应用程序时,它也会使用example.org,因为应用程序的一部分位于example.com,另一部分位于example.org。但有个问题。当用户使用example.com并需要example.org的功能时,他会通过单击exam

  • 问题内容: 由于Tor浏览器捆绑包只是Firefox的修补版本,因此似乎应该可以在Tor浏览器中使用。到目前为止,这是我尝试过的: 这将导致空白的Tor浏览器页面打开,并弹出消息: 无法加载Firefox配置文件。 它可能丢失或无法访问。 我知道配置文件是有效/兼容的,因为我可以使用以下命令成功启动浏览器和配置文件: 但是,我不知道如何向打开的浏览器发送命令。 我发现了类似的问题,但是我正在寻找J

  • 我带着很大的希望来到这里解决我的问题。我有这个网站,我想登录并访问一个会员专页。所以基本上php代码使用cURL登录,然后打开一个只有成员的页面。下面是我使用的代码。但每次我尝试访问会员专页时,它都会要求我登录。因此它不会保存在我已经登录的会话或cookie中。 我得到的结果是: 登录HTTP/1.1 200 OK Server:nginx日期:2014年6月12日星期四14:21:01 GMT内

  • 下面是java中的一个代码段,用于将坐标为a(10,10),B(20,10),C(20,20),D(10,20)的顶点围绕正方形的中心点旋转一个角度。正方形的边是10分。旋转角度为90度。理想情况下,旋转后A必须变成B,B必须变成C,C必须变成D,D必须变成A。 所取得的结果是不正确的 > 点A(10,10)旋转到(20,10)---正确 点B(20,10)旋转到(30,10)----不正确 nu

  • 我试图使用wsgen生成wsdl文件。如果我的webservice类扩展另一个类,我得到一个错误,但如果我删除扩展它的工作。这是错误消息: 另外,wsgen-完整版本: 请注意,我只有在使用Java8时才会出现这个问题。但是当我使用Java7和wsgen版本时,同样的代码可以工作: 下面是更多的细节以及如何复制它:我正在使用Java8,我有三个文件: basewebservice.java: 包w

  • 问题内容: 我不想 无休止 地测试,但我不能这样做。 下面的代码 启动chrome浏览器 。 不是无头 。好。 下面的代码( 摩卡 测试代码) 不启动Chrome浏览器 的。 无头 。NG。 但是测试通过了!我无法理解这。 我检查了Selenium Server的日志,但没有显示(左)任何日志。没有踪影。 测试结果如下: 问题答案: webdriver.io是异步的。更改测试以将其标记为异步,并在