classification
Title: debuglevel not honored in urllib
Type: behavior Stage: resolved
Components: Library (Lib) Versions: Python 3.6, Python 3.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: orsenthil Nosy List: orsenthil, python-dev, yan12125
Priority: normal Keywords: patch

Created on 2016-04-30 10:04 by yan12125, last changed 2016-05-13 08:36 by orsenthil. This issue is now closed.

Files
File name Uploaded Description Edit
urllib_debuglevel.patch yan12125, 2016-04-30 10:04 review
urllib_debuglevel_test.patch yan12125, 2016-04-30 16:46 review
Messages (5)
msg264547 - (view) Author: Chih-Hsuan Yen (yan12125) * Date: 2016-04-30 10:04
The following test program:

import sys
try:
    import urllib.request as urllib_request
except:
    import urllib2 as urllib_request

print(sys.version)

handler = urllib_request.HTTPSHandler(debuglevel=1)
opener = urllib_request.build_opener(handler)
print(opener.open('https://httpbin.org/user-agent').read().decode('utf-8'))

Works as expected in Python 2:
$ python2 test_urllib_debuglevel.py
2.7.11 (default, Mar 31 2016, 06:18:34) 
[GCC 5.3.0]
send: 'GET /user-agent HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: httpbin.org\r\nConnection: close\r\nUser-Agent: Python-urllib/2.7\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
header: Server: nginx
header: Date: Sat, 30 Apr 2016 10:02:32 GMT
header: Content-Type: application/json
header: Content-Length: 40
header: Connection: close
header: Access-Control-Allow-Origin: *
header: Access-Control-Allow-Credentials: true
{
  "user-agent": "Python-urllib/2.7"
}

But the verbose output is unavailable in Python 3.x:
$ ./python test_urllib_debuglevel.py
3.6.0a0 (default:1ceb91974dc4, Apr 30 2016, 17:44:57) 
[GCC 5.3.0]
{
  "user-agent": "Python-urllib/3.6"
}

Patch attached.
msg264557 - (view) Author: Senthil Kumaran (orsenthil) * (Python committer) Date: 2016-04-30 14:33
Hi Chi Hsuan,

The patch looks good to me. Additional tests for the coverage of this will be helpful too. Thanks!
msg264566 - (view) Author: Chih-Hsuan Yen (yan12125) * Date: 2016-04-30 16:46
Patch for the test.
msg265453 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016-05-13 08:35
New changeset 63e23b2dedcc by Senthil Kumaran in branch '3.5':
Issue #26892: Honor debuglevel flag in urllib.request.HTTPHandler.
https://hg.python.org/cpython/rev/63e23b2dedcc

New changeset e0ec68d46464 by Senthil Kumaran in branch 'default':
merge from 3.5
https://hg.python.org/cpython/rev/e0ec68d46464
msg265454 - (view) Author: Senthil Kumaran (orsenthil) * (Python committer) Date: 2016-05-13 08:36
Thank you for the patch, Chi Hsuan Yen.
History
Date User Action Args
2016-05-13 08:36:15orsenthilsetstatus: open -> closed
versions: + Python 3.5
messages: + msg265454

assignee: orsenthil
resolution: fixed
stage: resolved
2016-05-13 08:35:38python-devsetnosy: + python-dev
messages: + msg265453
2016-04-30 16:46:02yan12125setfiles: + urllib_debuglevel_test.patch

messages: + msg264566
2016-04-30 14:33:42orsenthilsetnosy: + orsenthil
messages: + msg264557
2016-04-30 10:04:43yan12125create