相关疑难解决方法(0)

如何在urllib2中使用SOCKS 4/5代理?

如何使用带urllib2的SOCKS 4/5代理下载网页?

python proxy urllib2 socks

48
推荐指数
2
解决办法
5万
查看次数

Python urllib超过TOR?

示例代码:

#!/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()
Run Code Online (Sandbox Code Playgroud)

TOR在端口9050上运行SOCKS代理(默认值).该请求通过TOR,在我自己以外的IP地址上显示.但是,TOR控制台会发出警告:

"2月28日22:44:26.233 [警告]你的应用程序(使用socks4到端口80)只给Tor一个IP地址.做DNS解析的应用程序本身可能泄漏信息.考虑使用Socks4A(例如通过privoxy或socat).有关详细信息,请参阅 https://wiki.torproject.org/TheOnionRouter/TorFAQ#SOCKSAndDNS."

即DNS查找不通过代理.但这就是setdefaultproxy应该做的第4个参数,对吧?

来自http://socksipy.sourceforge.net/readme.txt:

setproxy(proxytype,addr [,port [,rdns [,username [,password]]]])

rdns - 这是一个布尔标志,而不是修改DNS解析的行为.如果设置为True,则将在服务器上远程执行DNS解析.

选择PROXY_TYPE_SOCKS4和PROXY_TYPE_SOCKS5时效果相同.

它不能是本地DNS缓存(如果urllib2甚至支持它),因为当我将URL更改为此计算机以前从未访问过的域时会发生这种情况.

python urllib2 tor socks

17
推荐指数
2
解决办法
2万
查看次数

标签 统计

python ×2

socks ×2

urllib2 ×2

proxy ×1

tor ×1