【问题标题】:How to route urllib requests through the TOR network? [duplicate]如何通过 TOR 网络路由 urllib 请求? [复制]
【发布时间】:2023-04-05 01:36:01
【问题描述】:

如何通过 TOR 网络路由 urllib 请求?

【问题讨论】:

  • 你试过什么? TOR 应该在很大程度上对您透明。尝试使用 urrlib2;发布您的代码和错误消息。
  • 我没有代码或错误消息 - 我在问怎么做。
  • @Lobe:Tor 将您的请求匿名化——它将您从网站中隐藏起来。它对发出 HTTP 请求的基本方法没有任何作用——这就是没有文档的原因。除了你是匿名的,什么都没有改变。

标签: python urllib tor


【解决方案1】:

这对我有用(使用 urllib2,没有尝试过 urllib):

def req(url):
    proxy_support = urllib2.ProxyHandler({"http" : "127.0.0.1:8118"})
    opener = urllib2.build_opener(proxy_support) 
    opener.addheaders = [('User-agent', 'Mozilla/5.0')]
    return opener.open(url).read()

print req('http://google.com')
【解决方案2】:

Tor 作为代理工作,对吧?所以问问自己“我如何在 urllib 中使用代理?”

现在,当查看文档时,我首先看到的是

urllib.urlopen(url[, data[, proxies]])

这对我来说似乎很有启发性......

【讨论】:

  • 我试过了,没用:>>> urllib.urlopen('google.com',proxies={'http':'127.0.0.1:9051'}) > >>> _.read()
  • 但是 Tor 在其他应用程序中为您工作?你可以在 liburl 中使用 any 代理吗?
  • 在 127.0.0.1:8118 上不工作吗?我认为 9051 是控制端口。
  • 不,TOR 默认在 9050 上运行,9051 是控制,8118 是一些额外的隐私帮助代理(编辑:我认为是 privoxy)。
  • 哦,是的,privoxy 和 polipo 使用 8118 作为默认端口。
【解决方案3】:

我设法为洋葱网址做了一个 urlib.request 我找到了一个基于这篇文章的解决方案:Python 3.2 : urllib, SSL and TOR through socket : error with fileno function

这里是修改后的代码:

import socks
import socket

# This function has no DNS resolve
# it need to use the real ip adress to connect instead of www.google.com
def create_connection_fixed_dns_leak(address, timeout=None, source_address=None):
    sock = socks.socksocket()
    sock.connect(address)
    return sock

# MUST BE SET BEFORE IMPORTING URLLIB
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
# patch the socket module
socket.socket = socks.socksocket
socket.create_connection = create_connection_fixed_dns_leak

from urllib import request

if __name__ == "__main__":
    for proxy in request.getproxies():
        print(str(proxy))
    url = 'http://url_of_hidden_service.onion:port'
    req = request.Request(url)
    res = request.urlopen(req)
    print(str(res.read()))

【讨论】:

    猜你喜欢
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    • 2015-09-22
    • 1970-01-01
    • 2012-02-27
    相关资源
    最近更新 更多