请求<response [500] =“”>

时间:2016-04-02 00:13:45

标签: xml python-requests

我希望使用requests类从Web获取数据,然后将更改发布到命名空间XML并加载回来。

我可以通过以下方式登录并获取数据:

data_req = requests.get(proj_data_url, headers=headers, auth=(_user, _pw))

其中标题为{'X-ApiKey': A-ApiKey, 'Authorization': Authorization}

data_req<Response [200]>

然后我用

data_tree = xml.etree.ElementTree.fromstring(data_req.content)

转换为并成功更改data_tree

然后我用

data_set = xml.etree.ElementTree.tostring(data_tree)

转换回字符串。

然后我尝试通过以下方式发布更改:

_response = requests.post(proj_data_url, data=data_set, headers=headers, auth=(_user, _pw))

但是收到_response = <Response [500]>,这显然是服务器错误。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

因此,如果不知道您发布的服务器或XML,任何人都无法帮助解决服务器错误。

500意味着您正在与之交谈的应用程序未在内部处理错误。例如,如果应用程序是用Python编写的,则500可能是代码中未处理的异常的结果。

如果没有更多详细信息,您应该努力与网站管理员联系以获取帮助。他们可以检查他们的日志,修复他们的应用程序,并告诉您如何正确地向他们的服务发送请求。

您可能尝试做的一件事是为POST请求设置内容类型。您可以通过更新headers来完成此操作

headers['Content-Type'] = 'text/xml'  # or 'application/xml'

(请参阅this answer确定您应发送的内容。)