【发布时间】:2016-11-24 20:30:07
【问题描述】:
我正在尝试使用 Python 和 Tor 访问特定网站,但不知何故它只是永远加载并且没有响应。
import requests
import socks
import socket
url = 'http://www.ryanair.com'
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '127.0.0.1', 9150)
socket.socket = socks.socksocket
response = requests.get(url)
#no response comes
几周前它还在工作。此外,相同的代码在其他网站上仍然可以正常工作。 我的猜测是这不是我方面的问题,而是网站方面的问题,但我不知道可能出了什么问题。
关于什么是可能的以及如何解决它的任何想法?
编辑:
如果我运行命令:
curl --proxy socks5h://127.0.0.1:9150 -vvv http://www.ryanair.com
我明白了:
* Rebuilt URL to: http://www.ryanair.com/
* Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 9150 (#0)
> GET / HTTP/1.1
> Host: www.ryanair.com
> User-Agent: curl/7.49.1
> Accept: */*
>
< HTTP/1.1 302 Found : Moved Temporarily
< Location: https://www.ryanair.com/
< Connection: close
< Cache-Control: no-cache
< Pragma: no-cache
<
* Closing connection 0
尝试使用 https:
$ curl --proxy socks5h://127.0.0.1:9150 -vvv https://www.ryanair.com
* Rebuilt URL to: https://www.ryanair.com/
* Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 9150 (#0)
* TLS 1.2 connection using TLS_RSA_WITH_3DES_EDE_CBC_SHA
* Server certificate: www.ryanair.com
* Server certificate: GeoTrust SSL CA - G3
* Server certificate: GeoTrust Global CA
> GET / HTTP/1.1
> Host: www.ryanair.com
> User-Agent: curl/7.49.1
> Accept: */*
>
#...and it remains here
编辑 2:
我只是尝试直接在 Tor 浏览器上加载这个网站,它也会一直加载。
【问题讨论】:
-
由于它在 Tor 浏览器中也不起作用,并且您已经尝试了多次退出,所以它们很可能会阻止 Tor 流量,因此它会一直挂起,直到连接超时。
-
据我了解,Tor 会每 5 分钟更换一次 IP。所以即使他们阻止了它,这个块应该在 5 分钟后不再起作用,是吗?
-
Tor 不一定每 5 分钟更改一次 IP。但是他们阻止了所有 Tor IP 地址,因为它们都是已知的,因此您很可能不会再通过 Tor 成功连接。
标签: python python-3.x python-requests tor