【问题标题】:Why is python requests throwing this BadStatusLine exception为什么 python 请求会抛出此 BadStatusLine 异常
【发布时间】:2017-04-22 19:08:13
【问题描述】:

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

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

我得到了这个例外:

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

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

【问题讨论】:

    标签: python exception python-requests


    【解决方案1】:

    可能有 different reasons for this kind of error,但在这种特殊情况下,这看起来像一个简单的网络抓取检测 - 它可以通过提供 User-代理头冒充真正的浏览器:

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

    【讨论】:

    • 我忘记了我已经调整了 nginx 以拒绝“坏用户代理”。现在我很糟糕。非常感谢。 (我在 php 中编写的原始代码,我找不到解决方案然后将整个项目移动到 python 以实现那个愚蠢的自我功能)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2021-04-28
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多