你在浏览器看到的这种带冒号的请求头,是因为浏览器与服务器之间使用的是HTTP2协议。走不走HTTP2是可选的,即客户端不支持HTTP2时就不会使用HTTP2协议进行交互。所以,你只需要考虑按照正常的https请求来交互即可。 之所以会得到405,是因为服务端有安全策略检测的。我初步分析,应该是与cookie中的信息有关。

回复 @北国之秋秋 : 尽量模拟正常的用户请求。有两点需要注意,1. 请求的User-Agent要模拟为正常浏览器的;2. 要携带cookie信息。

哥,我想知道该如何解决啊??谢谢!

这里我给你一个实例,你看下:

# coding=utf-8

import requests

def test():

head = {

"User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36"

}

payload = {

"key": "小米"

}

s = requests.Session()

s.get("https://www.qichacha.com/", headers = head)

s.headers.update(head)

r = s.get("https://www.qichacha.com/search", params=payload)

print(r)

print(r.text)

输出:

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐