This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2014年07月01日 12:18 by Tymoteusz.Paul, last changed 2022年04月11日 14:58 by admin. This issue is now closed.
| Messages (4) | |||
|---|---|---|---|
| msg222024 - (view) | Author: Tymoteusz Paul (Tymoteusz.Paul) | Date: 2014年07月01日 12:18 | |
I've recently ran into a problem with urellib.request.urlopen that it fails against one website (that I've found so far). The website itself is working fine, I can access its content with other libraries like requests, curl and outside of python with telnet, links and so on. But with urllib it fails:
Python 3.4.1 (default, Jul 1 2014, 14:08:25)
[GCC 4.7.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib.request
>>> urllib.request.urlopen("http://www.thomsonlocal.com/")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python3.4/urllib/request.py", line 153, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib64/python3.4/urllib/request.py", line 455, in open
response = self._open(req, data)
File "/usr/lib64/python3.4/urllib/request.py", line 473, in _open
'_open', req)
File "/usr/lib64/python3.4/urllib/request.py", line 433, in _call_chain
result = func(*args)
File "/usr/lib64/python3.4/urllib/request.py", line 1215, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "/usr/lib64/python3.4/urllib/request.py", line 1194, in do_open
r = h.getresponse()
File "/usr/lib64/python3.4/http/client.py", line 1172, in getresponse
response.begin()
File "/usr/lib64/python3.4/http/client.py", line 351, in begin
version, status, reason = self._read_status()
File "/usr/lib64/python3.4/http/client.py", line 313, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/lib64/python3.4/socket.py", line 371, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [Errno 104] Connection reset by peer
I've tested it on about 6 different servers, in different parts of the world and all of them seem to be affected. I've tested with with 3.2.5, 3.3.3, 3.4.1 and they are all failed with the same trace.
|
|||
| msg222151 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2014年07月03日 06:12 | |
It fails with Python 2's urllib2.urlopen as well. |
|||
| msg233867 - (view) | Author: Martin Panter (martin.panter) * (Python committer) | Date: 2015年01月12日 01:12 | |
Not a Python bug. The web site seems to be doing this based on the user agent; if you change it, it works:
urlopen(Request("http://www.thomsonlocal.com/", headers={"User-Agent": "https://bugs.python.org/issue21896"}))
|
|||
| msg233869 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2015年01月12日 01:22 | |
So it does. Thanks, Martin. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:58:05 | admin | set | github: 66095 |
| 2015年01月12日 01:22:36 | ned.deily | set | status: open -> closed resolution: not a bug messages: + msg233869 stage: resolved |
| 2015年01月12日 01:12:35 | martin.panter | set | type: crash -> behavior messages: + msg233867 nosy: + martin.panter |
| 2014年07月03日 06:12:56 | ned.deily | set | nosy:
+ orsenthil, ned.deily messages: + msg222151 versions: + Python 2.7, Python 3.5, - Python 3.2, Python 3.3 |
| 2014年07月02日 08:01:35 | Tymoteusz.Paul | set | versions: + Python 3.2 |
| 2014年07月01日 14:26:56 | r.david.murray | set | nosy:
+ r.david.murray |
| 2014年07月01日 12:18:25 | Tymoteusz.Paul | create | |