【问题标题】:urlib2 in TAILS error 111 conection refusedTAILS 中的 urllib2 错误 111 连接被拒绝
【发布时间】:2017-11-20 19:18:16
【问题描述】:

我尝试在 TAILS 系统中使用 Urlib2 使用 python 打开一个简单的网页,但我无法使其工作,出现错误 111,连接被拒绝。这显然是因为 TAILS 拒绝所有非 Tor 流量,解决方案应该是打开一个代理:

proxy = urlib2.ProxyHandler({protocol:"127.0.0.1:{}".format(PORT)})
opener = urlib2.build_opener(proxy)
opener.open("https://jojeji")

我尝试了很多协议和端口,假设这个选择是我唯一的问题。 Tails 在etc/ferm/ferm.conf 中有一个配置文件。在输出部分它说:

            # White-list access to Tor's SOCKSPort's
            daddr 127.0.0.1 proto tcp syn dport 9050 {
                mod owner uid-owner _apt ACCEPT;
                mod owner uid-owner proxy ACCEPT;
                mod owner uid-owner nobody ACCEPT;
            }
              daddr 127.0.0.1 proto tcp syn mod multiport 
              destination-ports (9050 9061 9062 9150) {
                mod owner uid-owner $amnesia_uid ACCEPT;
            }

还有白名单:

access to onionshare
access to Monkeysphere
access to CUPS
access to the accesibility daemon
access to system DNS and TOr's DNS PORT
access to Tor's TransPort
access to Tor control port filtrer
access to Tor ControlPort

TAILS 用户应该将哪些值传递给 urlib2 代理,有没有更好的方法通过 urlib2 访问互联网?

【问题讨论】:

标签: python proxy tor


【解决方案1】:

Tails/Tor 实现了 SOCKS5 代理,而不是 HTTP 代理。 AFAIK,这不是 urllib2 直接支持的。您需要使用 SocksiPy 模块as shown in this answer。

socks 代理是 127.0.0.1,端口是 9050。

您的另一个选项是 to use pycurl 甚至是命令行 curl(使用 --socks5-hostname=127.0.0.1:9050)

【讨论】:

    猜你喜欢
    • 2017-09-08
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-13
    • 2012-06-07
    • 2018-04-02
    相关资源
    最近更新 更多