[Python-checkins] r45890 - python/trunk/Lib/httplib.py
georg.brandl
python-checkins at python.org
Wed May 3 20:03:23 CEST 2006
Author: georg.brandl
Date: Wed May 3 20:03:22 2006
New Revision: 45890
Modified:
python/trunk/Lib/httplib.py
Log:
RFE #1472176: In httplib, don't encode the netloc and hostname with "idna" if not necessary.
Modified: python/trunk/Lib/httplib.py
==============================================================================
--- python/trunk/Lib/httplib.py (original)
+++ python/trunk/Lib/httplib.py Wed May 3 20:03:22 2006
@@ -796,11 +796,20 @@
nil, netloc, nil, nil, nil = urlsplit(url)
if netloc:
- self.putheader('Host', netloc.encode("idna"))
- elif self.port == HTTP_PORT:
- self.putheader('Host', self.host.encode("idna"))
+ try:
+ netloc_enc = netloc.encode("ascii")
+ except UnicodeEncodeError:
+ netloc_enc = netloc.encode("idna")
+ self.putheader('Host', netloc_enc)
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
# headers since *this* library must deal with the
More information about the Python-checkins
mailing list