Why is python requests throwing this BadStatusLine exception

11,574

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]>
Share:
11,574
OultimoCoder
Author by

OultimoCoder

Updated on June 04, 2022

Comments

  • OultimoCoder
    OultimoCoder almost 2 years

    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?