SF Patch #103232 by dougfort: Preserve Nonstandard Port Number in Host

Header

Dougfort's comments: httplib does not include ':port ' in the HTTP 1.1
'Host:' header.  This causes problems if the server is not listening
on Port 80.  The test case I use is the login to /manage under Zope,
with Zope listening on port 8080. Zope returns a <frameset> with the
<frame> source URLs lacking the :8080.
This commit is contained in:
Guido van Rossum 2001-01-14 21:03:01 +00:00
parent 470ea5ab94
commit f6922aa435
1 changed files with 6 additions and 1 deletions

View File

@ -441,7 +441,12 @@ class HTTPConnection:
# be using HTTP/1.0 and those clients may be issuing this header
# themselves. we should NOT issue it twice; some web servers (such
# as Apache) barf when they see two Host: headers
self.putheader('Host', self.host)
# if we need a non-standard port,include it in the header
if self.port == HTTP_PORT:
self.putheader('Host', self.host)
else:
self.putheader('Host', "%s:%s" % (self.host, self.port))
# note: we are assuming that clients will not attempt to set these
# headers since *this* library must deal with the