我才刚刚开始使用和学习 Python,所以问这个问题似乎有些天真。在我的 Linux 系统上,如果我尝试使用来获取网页,urllib.urlopen()
则会出现错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/urllib.py", line 86, in urlopen
return opener.open(url)
File "/usr/lib/python2.7/urllib.py", line 207, in open
return getattr(self, name)(url)
File "/usr/lib/python2.7/urllib.py", line 344, in open_http
h.endheaders(data)
File "/usr/lib/python2.7/httplib.py", line 954, in endheaders
self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 814, in _send_output
self.send(msg)
File "/usr/lib/python2.7/httplib.py", line 776, in send
self.connect()
File "/usr/lib/python2.7/httplib.py", line 757, in connect
self.timeout, self.source_address)
File "/usr/lib/python2.7/socket.py", line 553, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
IOError: [Errno socket error] [Errno -2] Name or service not known
>>>
如果我尝试在我的 Windows 7 系统中安装的 Python 2.7 中执行相同的操作,它可以正常工作。
由于我是新手,我很难诊断问题。我试图研究它,但仍然没有任何答案。
所以我的问题是:
urlopen()
在那里工作但在 Linux 上没有 的 Windows 系统有什么不同。- 需要做些什么来确保它
urlopen()
在 Linux 系统上工作。它对我来说很有必要,因为我正在开发的程序有一些 bash 命令调用,并且该程序广泛依赖于urllib
.