【发布时间】:2018-08-24 20:23:57
【问题描述】:
我正在使用 Tor、Privoxy 和 Python 匿名抓取网络上的资源。 Tor 配置了ControlPort 9051,而 Privoxy 配置了forward-socks5 / localhost:9050 .
我的脚本运行完美,除非我请求在同一台机器上运行在8000 上的 API 资源。如果我使用代理通过 urllib2 设置访问 API,我会得到一个空字符串响应。如果我使用新的非代理 urllib2 实例访问 API,我会收到 HTTP 错误 503:转发失败。
我敢肯定,如果我向世界开放 8000,我将能够通过代理访问该端口。但是,必须有更好的方法来访问 localhost 上的资源。很好奇人们是如何处理这个问题的。
【问题讨论】:
-
503 转发错误意味着代理仍在使用中。您确定访问 localhost 的 urllib2 实例没有以某种方式使用代理吗?
-
是的,我想它仍在使用中。那么,问题是如何在 tor 之外发出请求,就像通常那样,同时仍然为其他请求运行它。第 1 步 - 使用 tor 获取资源。第 2 步 - 解析资源。第 3 步 - 点击内部 API。
-
认为我可以将 urllib2.ProxyHandler() 设置为 localhost