mirror of
https://github.com/python/cpython.git
synced 2025-09-12 11:46:52 +00:00
RFE #1472176: In httplib, don't encode the netloc and hostname with "idna" if not necessary.
This commit is contained in:
parent
7377ad2ecd
commit
a2ac2ef44f
1 changed files with 13 additions and 4 deletions
|
@ -796,11 +796,20 @@ class HTTPConnection:
|
||||||
nil, netloc, nil, nil, nil = urlsplit(url)
|
nil, netloc, nil, nil, nil = urlsplit(url)
|
||||||
|
|
||||||
if netloc:
|
if netloc:
|
||||||
self.putheader('Host', netloc.encode("idna"))
|
try:
|
||||||
elif self.port == HTTP_PORT:
|
netloc_enc = netloc.encode("ascii")
|
||||||
self.putheader('Host', self.host.encode("idna"))
|
except UnicodeEncodeError:
|
||||||
|
netloc_enc = netloc.encode("idna")
|
||||||
|
self.putheader('Host', netloc_enc)
|
||||||
else:
|
else:
|
||||||
self.putheader('Host', "%s:%s" % (self.host.encode("idna"), self.port))
|
try:
|
||||||
|
host_enc = self.host.encode("ascii")
|
||||||
|
except UnicodeEncodeError:
|
||||||
|
host_enc = self.host.encode("idna")
|
||||||
|
if self.port == HTTP_PORT:
|
||||||
|
self.putheader('Host', host_enc)
|
||||||
|
else:
|
||||||
|
self.putheader('Host', "%s:%s" % (host_enc, self.port))
|
||||||
|
|
||||||
# note: we are assuming that clients will not attempt to set these
|
# note: we are assuming that clients will not attempt to set these
|
||||||
# headers since *this* library must deal with the
|
# headers since *this* library must deal with the
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue