0

我正在使用 Tor、Privoxy 和 Python 来匿名抓取网络上的资源。Tor 配置为ControlPort 9051,而 Privoxy 配置为forward-socks5 / localhost:9050 .

我的脚本运行完美,除非我请求8000在同一台机器上运行的 API 资源。如果我使用代理通过 urllib2 设置访问 API,我会得到一个空字符串响应。如果我使用新的非代理 urllib2 实例访问 API,我会收到HTTP Error 503: Forwarding failure

我敢肯定,如果我向世界开放 8000,我将能够通过代理访问该端口。但是,必须有更好的方法来访问 localhost 上的资源。很好奇人们是如何处理这个问题的。

4

1 回答 1

0

通过使用以下开启程序,我能够关闭代理并点击内部 API:

        ctx = ssl.create_default_context()
        ctx.check_hostname = False
        ctx.verify_mode = ssl.CERT_NONE
        opener = urllib2.build_opener(urllib2.HTTPSHandler(context=ctx))
        urllib2.install_opener(opener)

我不确定是否有更好的方法,但它确实有效。

于 2018-08-27T19:16:12.833 回答