使用代理发出python 3请求

时间:2018-12-04 14:00:49

标签: python python-3.x python-requests tor socks

我想使用python 3进行匿名Web请求。

我尝试了一些建议,例如:Make requests using Python over Tor

我已经使用以下代码段获得了伪造的IP:

安装

  

pip安装请求请求[袜子]

基本用法

import requests

def get_tor_session():
    session = requests.session()
    # Tor uses the 9050 port as the default socks port
    session.proxies = {'http':  'socks5://127.0.0.1:9150',
                       'https': 'socks5://127.0.0.1:9150'}
    return session

# Make a request through the Tor connection
# IP visible through Tor
session = get_tor_session()
print(session.get("http://httpbin.org/ip").text)
# Above should print an IP different than your public IP

# Following prints your normal public IP
print(requests.get("http://httpbin.org/ip").text)

但这仅在端口9150上以及Tor Web浏览器正常工作时有效。 我想在不使用Tor浏览器的情况下发出请求,因为我想对整个事情进行Docker化。

我已经阅读了有关Socks5的信息,正如您所看到的,我已经安装了它,但是当我在同一代码段的9050端口上发出请求时,我得到了:

  

requests.exceptions.ConnectionError:   SOCKSHTTPConnectionPool(host ='httpbin.org',port = 80):最多重试   网址超出了:/ ip(由   NewConnectionError(':无法建立新的连接:[WinError   10061]无法建立连接,因为目标机器处于活动状态   拒绝了',))

我该如何解决?

谢谢!

1 个答案:

答案 0 :(得分:0)

10061被“拒绝连接”

这意味着您尝试连接的端口上没有任何监听,目标IP上没有任何服务正在运行(没有打开的端口)或防火墙

您可以使用telnet测试该端口

telnet `IP` `PORT`

还要在Windows上检查以下端口问题:here