Python - 切换到我的本地 SOCKS 代理的连接
Python - Toggling a connection to my local SOCKS proxy
我正在 Python 中编写一个爬虫,它将 运行 通过 Tor。我让 Tor 工作并使用了来自 this YouTube tutorial 的代码,关于如何路由我的 Python 请求以通过 127.0.0.1:9050
的 Tor SOCKS 代理。
我想不通的是如何在我的脚本中切换 on/off。有些请求我想通过 Tor,有些则不想。基本上,我无法在我正在使用的 socket
对象中找出正确的 "close" 或 "shutdown" 方法,因为我不理解它们。
这是现在发生的事情
import socket
import socks
import requests
def connect_to_socks():
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '127.0.0.1', 9050, True)
socket.socket = socks.socksocket
r = requests.get('http://wtfismyip.com/text')
print r.text #prints my ordinary IP address
connect_to_socks()
r = requests.get('http://wtfismyip.com/text')
print r.text #prints my Tor IP address
如何关闭到 SOCKS 代理的套接字路由,以便它通过我的普通互联网连接?
我希望使用 requests
而不是 urllib2
因为它看起来容易得多但是如果我必须进入 urllib2
甚至 [=17= 的胆量] 我会。但宁愿不要。
听了这个 good YouTube tutorial 就明白了。
只需要打电话给 socket.setdefaultproxy()
,它就会把我带回来。
对于 Python 3,您可以使用此设置回默认套接字:
socks.setdefaultproxy(None)
socket.socket = socks.socksocket
我正在 Python 中编写一个爬虫,它将 运行 通过 Tor。我让 Tor 工作并使用了来自 this YouTube tutorial 的代码,关于如何路由我的 Python 请求以通过 127.0.0.1:9050
的 Tor SOCKS 代理。
我想不通的是如何在我的脚本中切换 on/off。有些请求我想通过 Tor,有些则不想。基本上,我无法在我正在使用的 socket
对象中找出正确的 "close" 或 "shutdown" 方法,因为我不理解它们。
这是现在发生的事情
import socket
import socks
import requests
def connect_to_socks():
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '127.0.0.1', 9050, True)
socket.socket = socks.socksocket
r = requests.get('http://wtfismyip.com/text')
print r.text #prints my ordinary IP address
connect_to_socks()
r = requests.get('http://wtfismyip.com/text')
print r.text #prints my Tor IP address
如何关闭到 SOCKS 代理的套接字路由,以便它通过我的普通互联网连接?
我希望使用 requests
而不是 urllib2
因为它看起来容易得多但是如果我必须进入 urllib2
甚至 [=17= 的胆量] 我会。但宁愿不要。
听了这个 good YouTube tutorial 就明白了。
只需要打电话给 socket.setdefaultproxy()
,它就会把我带回来。
对于 Python 3,您可以使用此设置回默认套接字:
socks.setdefaultproxy(None)
socket.socket = socks.socksocket