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

Reply via email to