Python切换到本地SOCKS代理的连接

2024-10-02 12:33:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python编写一个爬虫程序,它将通过Tor运行。我使用了Tor,并使用了来自this YouTube tutorial的代码,介绍如何将Python请求路由到位于127.0.0.1:9050的torsocks代理。在

我不知道如何在我的脚本中打开/关闭这个选项。有些请求我想通过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代理的套接字路由,使其通过普通的internet连接?在

我希望用requests代替urllib2,因为这看起来容易得多,但如果我必须深入urllib2甚至{}的话,我会的。但我宁愿不要。在


Tags: totextimportcomhttp路由代理get

热门问题