urllib 的问题
我写了这段代码:
import urllib
proxies = {'http': 'http://112.65.135.54:8080/'}
opener = urllib.FancyURLopener(proxies)
r = opener.open("http://www.python.org/")
print r.read()
当我运行它的时候,这个程序运行得很好,还给我发送了 python.org 的源代码。但是当我使用这个:
import urllib
proxies = {'http': 'http://80.176.245.196:1080/'}
opener = urllib.FancyURLopener(proxies)
r = opener.open("http://www.python.org/")
print r.read()
这个程序却没有给我发送 python.org 的源代码。我该怎么办呢?
2 个回答
1
可以推测,第一个IP地址和端口指向一个正常工作的代理,而第二组则不是(因为它们在私有IP上,所以其他人当然无法检查)。所以,建议你和负责你本地网络的人沟通一下,获取你应该使用的HTTP代理的确切IP和端口信息!
编辑: 哎呀,问题被编辑过,IP地址被“隐藏”了(现在又回来了,确实不在私有网络上!)——所以我的回答是基于那个情况的。无论如何,现在也不需要再深入挖掘,因为提问者已经发现其中一个是socks代理,而不是http代理,自然不能把它当作后者来处理;-)
1
哈哈,我找到了答案,我必须用“socks”而不是“http”:
首先,导入一个叫做urllib的库。然后,我设置了一个代理,代理的类型是'socks',地址是 http://80.176.245.196:1080/。
接着,我用这个代理创建了一个打开网页的工具。然后,我打开了一个网址 http://www.python.org/。
最后,我打印出网页的内容。
这段代码运行得很好。