之前爬取過很多簡單網址,都沒有遇到過此情況。
請高手幫忙看看下,已經弄了兩天,要崩潰了............................
目標網址:https://www.machiningcloud.com/app/search/kennametal/productcatalog/node/3542257
方法 : POST
瀏覽器端的請求及相應:



其中headers中的“machiningcloudsessiontoken” 是可以得到的。
本人程式:
import requests,json
url1='https://production.machiningcloud.com/Server/3.5.1.1/Webservices/ToolProduct.svc/ListNodeCalloutValuesForChildren'
headers={
'accept': 'application/json',
'authority': 'production.machiningcloud.com',
'machiningcloudsessiontoken': '7FE77FA074A45B42BAE52C0D67D7AAF26D915009F01AC584',
'referer': 'https://www.machiningcloud.com/',
'content-type': 'application/json',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'
}
data=https://bbs.csdn.net/topics/{
"AssemblyConnectionContext":'null',"WithinNodeId":3542257,
"IncludeInActiveCstSupport":'false',"AdditionalPropIds":"[1720]","QueryString":'null'
}
data["QueryContextFields"]={"Brands":[2],"Unit":2,"LanguageId":1,"SearchBasis":3,"UseStagingDatabase":'false'}
ss=requests.session()
ss.headers.update(headers)
resp=ss.post(url1,json=data)
print(resp.status_code)
結果回傳:
500
[Finished in 1.6s]
uj5u.com熱心網友回復:
搞定了,原來是post資料格式有問(json和data),根據headers里'Content-Type': 'application/json',判斷需要post json資料,而request.post(url,json=data),data為字典格式,不需要json.loads()函式進行轉換!uj5u.com熱心網友回復:
你怎么搞定的,求教轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/231681.html
