我一直在努力解决HTTP 500(错误的语法/字符串)错误太久,并且在执行一些搜索之后,我无法在任何地方找到解决方案。我有一个嵌套的json PUT请求,我已经可以使用一些API工具(浏览器扩展和独立程序)工作,但是当我尝试在Python的HTTP请求模块中使用json时,我一直得到500返回错误代码。格式化嵌套的json以用于Python请求
我已经得到了其他更简单的jsons(例如data = {“RequestID”:“71865”})使用类似于以下代码的工作方式,这让我相信某些东西没有正确格式化,而且我很不幸对于这个json-python来说太新了。我认为这个问题是因为python处理嵌套的json的方式。
# -*- coding: utf-8 -*-
#!/usr/bin/env python
import requests
import json
USER_NAME=u"myusername"
USER_PASS=u"mypassword"
PUT_URL="https://webservice.url.com/A/Path/To/Create/"
headers = {"Content-Type": "application/json"}
data = {
"ListOfFields": {
"Field": [
{"fieldname": "summary","value": "test summary"},
{"fieldname": "notes","value": "an example json PUT"},
{"fieldname": "user","value": "myuser"}
]
}
}
data_json = json.dumps(data)
payload = {'json_playload': data_json } ## I have tried with and without this line.
r = requests.put('{}'.format(PUT_URL), data=data_json, headers=headers, auth=(USER_NAME, USER_PASS), timeout=10)
# r = requests.put('{}'.format(PUT_URL), data=payload, headers=headers, auth=(USER_NAME, USER_PASS), timeout=10)
我试图把数据值到引号,单行线,并使其他一些轻微的调整,但我不断收到500错误。
print(r.status_code)
>> 500
正如前面提到的,我已经得到了类似的代码,使用GET和POST和相同的Web服务器在Python的工作,但是这一次是让我头疼!
你会被罚款披露网址 - 这将有助于我很快回答这个问题,谢谢 – 2014-11-25 13:18:29