python访问百度文库出现“正在进行安全检测...”的解决方法

 使用request方法访问百度文库,出现"正在进行安全检测..."的提示,代码如下:

payload = {}
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                      'Chrome/119.0.0.0 Safari/537.36',
        'Accept': '*/*',
        'Host': 'wkrtcs.bdimg.com',
        'Connection': 'keep-alive',
        'Cookie': 'BAIDUID=B3E32C6BB8B4419BE6542C00F650E188:FG=1'
    }

    response = requests.request("GET", url, headers=headers, data=payload)

通过网上搜索的方法,进行user-agent和cookie的更换,都没有成功,看到有通过使用模拟浏览器的方式可以绕过检测,但是感觉比较麻烦,响应也比较慢,所以放弃了。

随后通过使用http.client.HTTPSConnection方法可以实现,方法很简单,响应也很快。

import http.client

    conn = http.client.HTTPSConnection("wenku.baidu.com")
    payload = ''
    headers = {
        'User-Agent': 'Apifox/1.0.0 (https://apifox.com)',
        'Accept': '*/*',
        'Host': 'wenku.baidu.com',
        'Connection': 'keep-alive',
        'Cookie': 'BAIDUID=B3E32C6BB8B4419BE6542C00F650E188:FG=1'
    }
    conn.request("GET", url.split('https://wenku.baidu.com')[1],
                 payload, headers)
    res = conn.getresponse()
    data = res.read().decode("utf-8")

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值