New submission from Jonathan Guthrie:
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.
--
messages: 286276
nosy: JonathanGuthrie
priority: normal
severity: normal
status: open
title: httplib: wrong Host header when connecting to IPv6 link-local address
type: behavior
versions: Python 2.7, Python 3.5
___
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29375>
___
___
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com