简体   繁体   中英

Why is python requests throwing this BadStatusLine exception

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?

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]>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM