用scrapy
的FormRequest
对象构造一个POST请求,其中formdata
参数是一个字典,字典只有一个kv,其中v是一个列表,这个列表里又套了一个字典,怎么将其作为post内容发出去?试了好几种办法,都不到预期的response:
{"user_list":[{"user_id":"A31FA9502C95CC071C6098B49F62B4657A82F2BFCF5D59163A1B9F73D4239CBD","lang":"zh_CN"}]}
用requests
库的话,这样写就可以得到正确的响应:
user_id = 'A31FA9502C95CC071C6098B49F62B4657A82F2BFCF5D59163A1B9F73D4239CBD'
url = "http://ssl.gongyi.qq.com/cgi-bin/gy_user_extra_display.fcgi"
payload = "{\"user_list\":[{\"user_id\":\"%s\",\"lang\":\"zh_CN\"}]}" % user_id
headers = {
'User-Agent': "EnterpriseInquiry/2.1.4 (iPhone; iOS 11.2.2; Scale/2.00)",
'Content-Type': "application/json",
}
r = requests.post(url, data=payload, headers=headers)
请问这个问题有解决方案了吗? 我最近也碰到了一样的问题