Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 274
OultimoCoder Avatar asked Sep 01 '26 07:09

OultimoCoder


1 Answers

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]>
like image 135
alecxe Avatar answered Sep 02 '26 22:09

alecxe



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!