python - 为什么 python 请求抛出这个 BadStatusLine 异常

标签 python exception python-requests

在 python 中,如果我导入请求并执行:

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

我得到这个异常:

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

有人知道如何解决这个问题吗?

最佳答案

可以有different reasons for this kind of error ,但在这种特殊情况下,这看起来像是一个简单的网络抓取检测 - 它可以通过提供一个User-Agent header假装成一个真正的浏览器来解决:

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

关于python - 为什么 python 请求抛出这个 BadStatusLine 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41024252/

相关文章:

Python:为什么 dict.fromkeys 方法不生成工作字典

python - 使用 Python 的 RSA 加密

python - 嵌套字典 - python

python - 如何确保在杀死Python Paramiko脚本时所有生成的进程都消失了?

c++ - 异常如何在 C++ 中工作(在幕后)

java.lang.numberformatException 空字符串 java awt

json - Spark对json的异常处理

python - 为什么使用Python请求GET请求gz数据时出现ConnectionError

python - Django Rest 框架 : empty request. 数据

python - 使用 Python 请求 : Sessions, Cookie 和 POST