Python - POST请求响应和JSON解析

时间:2014-07-17 00:43:40

标签: python json python-requests

我使用Python 2.7.7向网站发送帖子请求。我正在使用请求模块,我的代码如下所示:( 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:无法解码JSON对象”

我要求的网站有以下教程:

  

您需要向http://play.pokemonshowdown.com/action.php发送HTTP POST请求,其数据为act = login& name = USERNAME& pass = PASSWORD& challengekeyid = KEYID& challenge = CHALLENGE

     

无论哪种方式,响应都将以]开头,后跟一个我们称之为数据的JSON对象。“

我不确定post请求响应是否有问题(因此是空白行),或者它是否有故障且json解析是否关闭

1 个答案:

答案 0 :(得分: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())