New submission from sicarius noidea <[email protected]>:
Hey,
BadStatusLine triggered when protocol version is in lowercase.
I've encountered a server that answers "Http/1.0 404 Not Found\r\n" instead of
"HTTP/1.0 404 Not Found\r\n"
## Expected Result
Requests understanding the status line.
## Actual Result
Requests is closing the connection.
## Reproduction Steps
### Setup a server that answers the line above
bash: ```while 1;do echo "Http/1.0 404 Not Found\r\n" | sudo nc -lnvp 80;
done```
### get the server
```python
import requests
req = req = requests.get("http://127.0.0.1/", verify=False, allow_redir=False )
```
## problem location
Look at line 287 of http/client.py
the word "HTTP" should be matched in lowercase too.
```python
if not version.startswith("HTTP/"):```
Regards.
----------
components: Library (Lib)
messages: 381606
nosy: sicarius.ctf
priority: normal
severity: normal
status: open
title: Http client, Bad Status Line triggered for no reason
type: behavior
versions: Python 3.9
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue42432>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com