- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
示例代码:
#!/usr/bin/python
import socks
import socket
import urllib2
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS4, "127.0.0.1", 9050, True)
socket.socket = socks.socksocket
print urllib2.urlopen("http://almien.co.uk/m/tools/net/ip/").read()
TOR 在端口 9050(默认)上运行 SOCKS 代理。该请求通过 TOR,出现在我自己以外的 IP 地址上。但是,TOR 控制台会发出警告:
"Feb 28 22:44:26.233 [warn] Your application (using socks4 to port 80) is giving Tor only an IP address. Applications that do DNS resolves themselves may leak information. Consider using Socks4A (e.g. via privoxy or socat) instead. For more information, please see https://wiki.torproject.org/TheOnionRouter/TorFAQ#SOCKSAndDNS."
即DNS 查找不通过代理。但这就是 setdefaultproxy 的第四个参数应该做的,对吧?
来自 http://socksipy.sourceforge.net/readme.txt :
setproxy(proxytype, addr[, port[, rdns[, username[, password]]]])
rdns - This is a boolean flag than modifies the behavior regarding DNS resolving. If it is set to True, DNS resolving will be preformed remotely, on the server.
选择 PROXY_TYPE_SOCKS4 和 PROXY_TYPE_SOCKS5 时效果相同。
它不可能是本地 DNS 缓存(如果 urllib2 甚至支持的话),因为它发生在我将 URL 更改为这台计算机以前从未访问过的域时。
最佳答案
问题是 httplib.HTTPConnection
使用 socket
模块的 create_connection
在连接套接字之前通过通常的 getaddrinfo
方法执行 DNS 请求的辅助函数。
解决方案是在导入 urllib2
之前制作自己的 create_connection
函数并将其猴子修补到 socket
模块中,就像我们一样使用 socket
类。
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
# Now you can go ahead and scrape those shady darknet .onion sites
关于TOR上的Python urllib?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5148589/
我想知道当我连接到 Tor 网络时将我的数据包发送到哪里。我想在 Tor 网络中看到其他路由器,如下所示: $ traceroute google.com 3 ........... 4 *
我知道我们已经讨论过了,但我在这里找到的问答和谷歌搜索不适合我的问题。 我读到我不应该这样做有几个原因(看看替代品,一个负担得起的种子箱可能是最好的选择)。尽管如此,我仍在努力让它工作,但目前我做不到
默认 TOR在链中使用 3 个节点(大约),但它的工作速度非常缓慢。我想使用一个,所以连接到某个服务器,那个已经是导出节点。 我知道这会影响我的匿名性,但我认为我可以忍受(特别是如果这样做会更快的话)
是否可以阻止 Tor 用户? (https://www.torproject.org/) 由于我运行的网站的性质,我应该尽我所能停止多个帐户并阻止某些位置。 Tor 比代理更糟糕 - 完全是一场噩梦.
我的计算机上运行着 Tor,我需要每五分钟更改一次 Tor 导出节点。例如,如果我开始通过某个导出节点使用 Tor,那么我希望 Tor 在 5 分钟内更改为具有不同 IP 地址的导出节点。我怎样才
来历及作用 Tor.exe进程程序文件通常是Tor/Tor Project或被认为是Privoxy或Polipo、Hide My IP Address、Tor 0.2.0.2-alpha类似的The
我正在尝试通过 python 运行 Tor。我的目标是能够在我选择的时间不时切换导出或以其他方式更改我的 IP。我已经学习了几个教程并遇到了几个不同的错误。 此代码打印我的 IP 地址 import
我可以在 Linux 上使用 torrc 文件轻松更改该设置,但在 Windows 版 Tor 浏览器上找不到该选项。 看起来可以通过“vidalia”完成:但是如何访问它?我在 TOR 浏览器上找不
我正在使用连接到 tor 网络的 stem 示例,这应该将客户端连接到 tor 网络,它似乎正在这样做但是当我检查 ip 地址时它是不正确的而不是 tor ip,任何关于为什么会这样,更重要的是我该如
我正在尝试用 Java 代码实现 Orchid Tor 库;不幸的是,由于缺乏文档,我无法让它工作,这就是我所做的: ...................... private final stat
我已经在 linux 系统上安装了 tor 浏览器包。我从命令行启动它 :~$ ./.tor/tor-browser_en-US/start-tor-browser 这将首先启动 vidalia,然后
struct Tnode { Tnode *left; Tnode *right; int content; Tnode (int item = 0) { this->content
我正在关注博文 here . 我使用的是 Windows 机器,所以我无法按照确切的步骤操作。这就是我所做的: 安装了 Tor Browser for Windows 已安装 pytorctl pip
我正在尝试将 .onion 网站的内容导入 python,一些研究表明 'stem '当我运行这个 tutorial script ,或更具体地说,当我尝试使用 stem.process.launch
我使用google cloud shell来执行这个程序 Linux 版本 Distributor ID: Debian Description: Debian GNU/Linu
我正在创建一个 Android Jsoup 网络抓取应用程序,它通过端口 9150 上的 SOCKS 代理连接到 Tor,(我希望请求完全匿名): private const val TOR_
import java.io.File; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.Firefo
关注 https://github.com/Sitecore/autohaus/blob/master/Autohaus.Custom/Indexing/Analyzers/NGramAnalyzer
我正在设置中继,我的理解是必须打开ORPort才能中继来自外部世界的流量,但是我还需要启用DirPort吗? 最佳答案 不,您不需要启用DirPort。如果设置了DirPort,则中继还将用作目录镜像
我按照 toctrl 解释 (http://www.thesprawl.org/research/tor-control-protocol/) 关于如何创建真正快速的单跳电路,我成功创建了一个电路,但
我是一名优秀的程序员,十分优秀!