无法通过urllib和代理访问网站
我用 ssh -D localhost:5678 me@server.com
打开了一个 SSH 隧道,现在想在我的 Python3 应用程序中使用它。
#!/usr/bin/python3.1
# -*- coding:Utf-8 -*-
import urllib.request
proxyhand = urllib.request.ProxyHandler({"socks" : "http://localhost:5678"})
opener = urllib.request.build_opener(proxyhand)
page = opener.open("http://www.mysite.com")
mysite.com 只能从 server.com 的网络访问(这就是我使用 SSH 隧道的原因)。
我可以顺利访问其他网站,没有任何问题,但访问 mysite.com 时却出现了连接超时的错误。隧道是有效的,因为我可以通过配置好的 Firefox 访问 mysite.com,具体方法可以参考 这里的说明。
谢谢!
1 个回答
0
你是不是应该用 http
作为协议,而不是 socks
呢?所以:
proxyhand = urllib.request.ProxyHandler({"http" : "http://localhost:5678"})