【发布时间】:2012-03-06 15:43:11
【问题描述】:
我正在尝试下载页面的 HTML(在这种情况下为http://www.google.com),但我收到了一个错误。这是我的交互式提示会话:
Python 3.2.2 (default, Sep 4 2011, 09:51:08) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib
>>> import urllib.request
>>> html = urllib.request.urlopen("http://www.google.com")
Traceback (most recent call last):
File "\\****.****.org\myhome\python\lib\urllib\request.py", line 1136, in
do_open
h.request(req.get_method(), req.selector, req.data, headers)
File "\\****.****.org\myhome\python\lib\http\client.py", line 964, in req
uest
self._send_request(method, url, body, headers)
File "\\****.****.org\myhome\python\lib\http\client.py", line 1002, in _s
end_request
self.endheaders(body)
File "\\****.****.org\myhome\python\lib\http\client.py", line 960, in end
headers
self._send_output(message_body)
File "\\****.****.org\myhome\python\lib\http\client.py", line 805, in _se
nd_output
self.send(msg)
File "\\****.****.org\myhome\python\lib\http\client.py", line 743, in sen
d
self.connect()
File "\\****.****.org\myhome\python\lib\http\client.py", line 721, in con
nect
self.timeout, self.source_address)
File "\\****.****.org\myhome\python\lib\socket.py", line 404, in create_c
onnection
raise err
File "\\****.****.org\myhome\python\lib\socket.py", line 395, in create_c
onnection
sock.connect(sa)
socket.error: [Errno 10061] No connection could be made because the target machi
ne actively refused it
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "\\****.****.org\myhome\python\lib\urllib\request.py", line 138, in
urlopen
return opener.open(url, data, timeout)
File "\\****.****.org\myhome\python\lib\urllib\request.py", line 369, in
open
response = self._open(req, data)
File "\\****.****.org\myhome\python\lib\urllib\request.py", line 387, in
_open
'_open', req)
File "\\****.****.org\myhome\python\lib\urllib\request.py", line 347, in
_call_chain
result = func(*args)
File "\\****.****.org\myhome\python\lib\urllib\request.py", line 1156, in
http_open
return self.do_open(http.client.HTTPConnection, req)
File "\\****.****.org\myhome\python\lib\urllib\request.py", line 1139, in
do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 10061] No connection could be made
because the target machine actively refused it>
>>>
我最好的猜测是我的网络防火墙阻止了连接(除 80 之外的大多数/所有端口都被阻止)。不过,我不明白为什么; Python 没有连接到 80 端口吗?有谁知道发生了什么?
【问题讨论】:
-
您的解决方案可能在这里:stackoverflow.com/questions/5620263/using-an-http-proxy-python(因此,重复的问题)
-
我没有使用 urllib2,这个问题是不同的,我们都有同样的错误。