Skip to content Skip to sidebar Skip to footer

Python Requests: Invalid Header Name

I am trying to send a request with the header: ':hello'. However, the leading colon causes the script to not function properly, and emit this traceback: Traceback (most recent call

Solution 1:

As your error says, :header is not a valid HTTP header name (you cannot start headers with ":" - see documentation). You should change

headers = {'user-agent': 'alsotesting', ':hello': 'test'}

to

headers = {'user-agent': 'alsotesting', 'hello': 'test'}

Edit: HTTP/2 uses pseudo-headers fields, which start with a colon (see documentation). Also, as explained here, you may see some headers starting with a colon in Chrome's Developer Tools, which can happen when Chrome is talking to a web server using SPDY - and also HTTP/2 (which is based on SPDY/2), which correspond to pseudo-headers. As stated in documentation, pseudo-header fields are not HTTP header fields.

In conclusion, header fields starting with a colon are not allowed with standard HTTP protocol, so that is why you are getting the Invalid header name error

Post a Comment for "Python Requests: Invalid Header Name"