这是我到现在为止的代码
import socks
import socket
import requests
import json
socks.setdefaultproxy(proxy_type=socks.PROXY_TYPE_SOCKS5, addr="127.0.0.1", port=9050)
socket.socket = socks.socksocket
data = json.loads(requests.get("http://freegeoip.net/json/").text)
Run Code Online (Sandbox Code Playgroud)
它工作正常.问题是当我使用.onion网址时显示错误
无法建立新连接:[Errno -2]名称或服务未知
经过一番研究后发现,尽管http请求tor在分辨率上仍然存在,但仍然存在于clearnet上.什么是正确的方式,所以我也可以通过网络解析域连接到.onion网址?
我的目标是使用python的机械化和tor SOCKS代理.
我没有使用具有以下Ubuntu版本的GUI:描述:Ubuntu 12.04.1 LTS版本:12.04代号:精确
根据nmap扫描安装Tor并正在侦听端口9050:
Starting Nmap 5.21 ( http://nmap.org ) at 2013-01-22 00:50 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000011s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
3306/tcp open mysql
9050/tcp open tor-socks
Run Code Online (Sandbox Code Playgroud)
我还认为我是否可以telnet到端口9050是合理的,我可以:
telnet 127.0.0.1 9050
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
quit
Connection closed by foreign host.
Run Code Online (Sandbox Code Playgroud)
我非常希望在这篇文章中建议使用urllib2: 如何使用带有urllib2的SOCKS 4/5代理?
所以我在python中尝试了以下脚本:
import socks
import socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
socket.socket = socks.socksocket …Run Code Online (Sandbox Code Playgroud)