【问题标题】:Python urllib or requests library get stuck to open certain URLs?Python urllib 或请求库无法打开某些 URL?
【发布时间】:2021-08-29 07:26:09
【问题描述】:

我正在尝试向某个网站发送 HTTP GET 请求,例如,https://www.united.com,但它卡住了,没有响应。 代码如下:

from urllib.request import urlopen

url = 'https://www.united.com'
resp = urlopen(url,timeout=10 )

每次都会超时。但相同的代码适用于其他 URL,例如 https://www.aa.com。 所以我想知道https://www.united.com 背后是什么让我无法通过HTTP 请求。谢谢!

更新: 添加请求标头仍然不适用于此站点:

from urllib.request import urlopen

url = 'https://www.united.com'
req = urllib.request.Request(
    url, 
    data=None, 
    headers={
        'User-Agent':' Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36'
    }
)
resp = urlopen(req,timeout=3 )

【问题讨论】:

    标签: python web-scraping python-requests urllib


    【解决方案1】:

    united.com 的服务器可能只响应某些用户代理字符串或请求标头并阻止其他人。您必须发送其服务器允许的某些标头或用户代理字符串。这取决于希望为其应用程序添加更多安全性的网站到网站,因此他们非常具体地了解用户代理,例如尝试访问哪些资源。

    【讨论】:

    • 感谢您回答问题!但是当我添加请求标头时,`headers={ 'User-Agent':' Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36' } `,还是不行……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 2019-02-07
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多