问题遇到的现象和发生背景
python获取动态网页已加入请求头仍然406错误
问题相关代码,请勿粘贴截图
import requests
import json
url = 'https://kd.nsfc.gov.cn/api/baseQuery/completionQueryResultsData'
header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36",
"Referer": "https://kd.nsfc.gov.cn/finalSearchList?inputJson=%7B%22code%22%3A%22A04%20%E7%BB%9F%E8%AE%A1%E4%B8%8E%E8%BF%90%E7%AD%B9%22,%22conclusionYear%22%3A%222020%22,%22dependUnit%22%3A%22%22,%22keywords%22%3A%22%22,%22pageNum%22%3A0,%22pageSize%22%3A5,%22personInCharge%22%3A%22%22,%22projectName%22%3A%22%22,%22projectType%22%3A%22218%22,%22subPType%22%3A%22%22,%22psPType%22%3A%22%22,%22ratifyNo%22%3A%22%22,%22ratifyYear%22%3A%22%22%7D",
"Accept": "application / json, text / plain, * / *",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-CN,zh;q=0.9",
"Origin": "https://kd.nsfc.gov.cn",
"Content-Type": "application/json;charset=UTF-8",
"Host": "kd.nsfc.gov.cn",
"Cookie": "LoginAuth={%22authKey%22:%228C1umnrzbWL87FDa5yEOFDVQg%252FPwuZMs5lZZWn2H9Umydg6kYGHE4Q%253D%253D%22%2C%22sessionId%22:%22v9Dqh8yDjR2MQvWbbQBkXlvFGW2RDzyPzT2d7MhTB1DYB20hv2Ps!1263180705!1643948227122%22%2C%22targetUrl%22:%22https://kd.nsfc.gov.cn/api/isisnauth/loginback?pageN=/unitDetails?id=22879a058387f230e62c80f270822831%22%2C%22token%22:%22tcetc09SVxLnXnz2jm6kqKWZOKFg3n7vEqpusiOhLtA%253D%22%2C%22sid%22:%22hx%252BlHEsJ3wbNRV49Vxt1SA4NPDbrEZYJKYCxpLiHqPhdsKb0E%252F0TvNm1haMYAMreL8b%252F1luzfq0y1d%252Fnirws0uIwxcFWmg8pBm5yw%252BzWjRU%253D%22}",
"Connection": "keep-alive",
"Content-Length": "263"
}
data = {
"code": "A04", "complete": "true", "conclusionYear": "2020", "dependUnit": "", "keywords": "", "pageNum": 0, "pageSize": 5, "personInCharge": "", "projectName": "", "projectType": "218", "subPType": "", "psPType": "", "ratifyNo": "", "ratifyYear": "", "order": "approveYear", "ordering": "desc"
}
data = json.dumps(data)
content = requests.post(url=url, headers=header, data=data)
print(content.status_code)import requests
import json
url = 'https://kd.nsfc.gov.cn/api/baseQuery/completionQueryResultsData'
header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36",
"Referer": "https://kd.nsfc.gov.cn/finalSearchList?inputJson=%7B%22code%22%3A%22A04%20%E7%BB%9F%E8%AE%A1%E4%B8%8E%E8%BF%90%E7%AD%B9%22,%22conclusionYear%22%3A%222020%22,%22dependUnit%22%3A%22%22,%22keywords%22%3A%22%22,%22pageNum%22%3A0,%22pageSize%22%3A5,%22personInCharge%22%3A%22%22,%22projectName%22%3A%22%22,%22projectType%22%3A%22218%22,%22subPType%22%3A%22%22,%22psPType%22%3A%22%22,%22ratifyNo%22%3A%22%22,%22ratifyYear%22%3A%22%22%7D",
"Accept": "application / json, text / plain, * / *",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-CN,zh;q=0.9",
"Origin": "https://kd.nsfc.gov.cn",
"Content-Type": "application/json;charset=UTF-8",
"Host": "kd.nsfc.gov.cn",
"Cookie": "LoginAuth={%22authKey%22:%228C1umnrzbWL87FDa5yEOFDVQg%252FPwuZMs5lZZWn2H9Umydg6kYGHE4Q%253D%253D%22%2C%22sessionId%22:%22v9Dqh8yDjR2MQvWbbQBkXlvFGW2RDzyPzT2d7MhTB1DYB20hv2Ps!1263180705!1643948227122%22%2C%22targetUrl%22:%22https://kd.nsfc.gov.cn/api/isisnauth/loginback?pageN=/unitDetails?id=22879a058387f230e62c80f270822831%22%2C%22token%22:%22tcetc09SVxLnXnz2jm6kqKWZOKFg3n7vEqpusiOhLtA%253D%22%2C%22sid%22:%22hx%252BlHEsJ3wbNRV49Vxt1SA4NPDbrEZYJKYCxpLiHqPhdsKb0E%252F0TvNm1haMYAMreL8b%252F1luzfq0y1d%252Fnirws0uIwxcFWmg8pBm5yw%252BzWjRU%253D%22}",
"Connection": "keep-alive",
"Content-Length": "263"
}
data = {
"code": "A04", "complete": "true", "conclusionYear": "2020", "dependUnit": "", "keywords": "", "pageNum": 0, "pageSize": 5, "personInCharge": "", "projectName": "", "projectType": "218", "subPType": "", "psPType": "", "ratifyNo": "", "ratifyYear": "", "order": "approveYear", "ordering": "desc"
}
data = json.dumps(data)
content = requests.post(url=url, headers=header, data=data)
print(content.status_code)
运行结果及报错内容
406
我的解答思路和尝试过的方法
加入多个请求头,反复尝试
我想要达到的结果
正确获得网页内容