0

我正在使用 python requests 发出 POST REST 请求。

这是代码

REST_URLU = REST_URL+'user/'+get_usermain.username
headers = {'content-type': 'application/json; charset=UTF-8','Accept':'application/json; charset=UTF-8','X-Talisman-Secret':API_KEY}
payload = {"org_name":ORG_KEY,
          "first_name":full.first_name.encode('utf8'),
         "middle_name" : "ranjan",
         "last_name" : "dubey",    
         "passwd":"9454545", 
         "city" : "Gwalior",
         "state" : "Madhya Pradesh",
         "country" : "India",
         "pin" : "560068",
         "street" : "Cocx town",
         "primary_landline" : "080255555",
         "primary_mobile":"584644884",
         "primary_phon" : "0558877822558",
         "primary_email":get_usermain.email.encode('utf8'),
         }

print payload
print "resttttttttttttttttt"
print REST_URLU

print "+++++++++++++++++++++++++++++++++"
r = requests.post(REST_URLU, params=payload,headers = headers)

现在的问题是每当我发布相同的身体时

{"org_name":"45668",
              "first_name":"NAME",
             "middle_name" : "ranjan",
             "last_name" : "dubey",    
             "passwd":"9454545", 
             "city" : "Gwalior",
             "state" : "Madhya Pradesh",
             "country" : "India",
             "pin" : "560068",
             "street" : "Cocx town",
             "primary_landline" : "080255555",
             "primary_mobile":"584644884",
             "primary_phon" : "0558877822558",
             "primary_email":"someemail@hi.com",
             }

来自 Mozilla REST 客户端它工作正常。但是当我在 Python 中使用相同的主体时它不起作用。

租赁帮助我我可能做错了什么。

4

1 回答 1

3

我敢打赌,您需要将内容传递为data=json.dumps(payload)torequests.post()而不是 as params。文档说这params成为 url 参数,而您希望将其作为 JSON 编码的消息体。

于 2013-03-22T13:05:55.907 回答