Why is python requests throwing this BadStatusLine exception

浪尽此生 提交于 2021-02-04 19:38:25

问题


In python if I import requests and do:

t = requests.get("http://www.azlyrics.com/u/urban.html")

I get this exception:

raise BadStatusLine(line)
http.client.BadStatusLine: ''

Does anyone know how to fix this?


回答1:


There can be different reasons for this kind of error, but in this particular case this looks like a simple web-scraping detection - it can be solved by providing a User-Agent header pretending to be a real browser:

In [2]: requests.get("http://www.azlyrics.com/u/urban.html")
...
ConnectionError: ('Connection aborted.', BadStatusLine("''",))

In [3]: requests.get("http://www.azlyrics.com/u/urban.html", headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36'})
Out[3]: <Response [200]>


来源:https://stackoverflow.com/questions/41024252/why-is-python-requests-throwing-this-badstatusline-exception

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!