Python - POST请求响应及JSON解析
我正在使用 Python 2.7.7 向一个网站发送 POST 请求。我用的是 requests 模块,我的代码看起来是这样的:(这里的 NAME 和 PASS 是替换过的)
r = requests.post("http://play.pokemonshowdown.com/action.php", data="act=login&name=NAME&pass=PASS&challengekeyid="+challstrarr[2]+"&challenge="+challstrarr[3])
print(r.text)
print(r.json())
当我用 r.text 时,它只返回了一行空白,而用 r.Json 时却出现了这个错误:“ValueError: No JSON object could be decoded”(值错误:没有可以解码的 JSON 对象)
我请求的网站有以下教程:
你需要向 http://play.pokemonshowdown.com/action.php 发起一个 HTTP POST 请求,数据内容是 act=login&name=USERNAME&pass=PASSWORD&challengekeyid=KEYID&challenge=CHALLENGE
无论如何,响应的开头会是 ],后面跟着一个我们称之为 data 的 JSON 对象。
我不确定这个 POST 请求的响应是否有问题(所以才会返回空白),还是说响应没问题,但 JSON 解析出了错。
1 个回答
0
你应该把一个字典对象传递给post
函数(也就是数据参数),而在get
方法中,你应该传递一个查询字符串:
postData = {
#put you post data here
}
r = requests.post("http://play.pokemonshowdown.com/action.php", data=postData)
print(r.text)
print(r.json())