下面的代码:
import urllib2
file = urllib2.urlopen("http://foo.bar.com:82")
在我的 Mac 上工作得很好(运行 Python 2.7.1 的 OS X 10.8.4。它会打开 URL,我可以毫无问题地解析文件。
当我在 GoDaddy Python 2.7.3(或 2.4)中尝试完全相同的代码(这两行)时,我收到一个错误:
urllib2.URLError: <urlopen error (111, 'Connection refused')
问题与端口 :82 有关,该端口是地址的重要组成部分。我曾尝试使用带有掩码等的转发地址,但没有任何效果。
知道为什么它会在一个环境中工作而不是在另一个(表面上相似的)环境中工作吗?任何想法如何解决这个问题?我也试过机械化无济于事。以前的帖子建议关注 urllib2.HTTPBasicAuthHandler,但它在我的 OS X 环境中运行良好,没有任何特别之处。
欢迎提出想法。