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.

Author JonathanGuthrie
Recipients JonathanGuthrie
Date 2017-01-25.20:14:43
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1485375284.1.0.310369100275.issue29375@psf.upfronthosting.co.za>
In-reply-to
Content
This is related to issue 5111.

An IPv6 link-local address must include a scope specifier as part of the address passed to the HTTPConnection or HTTPSConnection constructor, that scope specifier is not being stripped from the address passed in the HTTP 1.1 Host: header line.

So, suppose I was attempting to connect to an HTTP server on fe80::8aae:1dff:fea4:29c8.  That's a link-local address, so I must give the scope specifier, which is the interface I can use to connect to that address.  So, the address I would pass to the HTTPConnection constructor might look like "fe80::8aae:1dff:fea4:29c8%eth0".  The appropriate Host line in the HTTP request would be "Host: [fe80::8aae:1dff:fea4:29c8]" but it is actually "Host: [fe80::8aae:1dff:fea4:29c8%eth0]"

Compliant HTTP servers reject requests including this line as malformed.
History
Date User Action Args
2017-01-25 20:14:44JonathanGuthriesetrecipients: + JonathanGuthrie
2017-01-25 20:14:44JonathanGuthriesetmessageid: <1485375284.1.0.310369100275.issue29375@psf.upfronthosting.co.za>
2017-01-25 20:14:44JonathanGuthrielinkissue29375 messages
2017-01-25 20:14:43JonathanGuthriecreate