来自Webrequest的400 Bad Request with Python in SOAP

时间:2020-02-21 13:56:13

标签: python xml soap http-status-code-400

[在此处输入图像描述] [1]在python中尝试此代码时,我总是收到400 Bad Request错误。 有人可以帮我吗?

我读过一些有关更改名称空间的内容,但是我不知道这是什么意思,因为我不了解python中的名称空间。

在底部的图片上,有该网站给我的xml /文本,以获取他们的数据。

我在使用c#时遇到了同样的问题。

进行测试:您不需要正确的公司名称/用户名/密码,因为它会产生相同的400错误请求错误

import requests
company = '''"<Company><CompanyName>comanyname</CompanyName><UserName>username</UserName><Password>password</Password></Company>"'''
date = '"02-02-2020"'
request = """<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><GetPersonIdInfos xmlns="http://tempuri.org/"><companyIdentity>""" + company + """</companyIdentity><date>""" + date + """</date></GetPersonIdInfos></soap:Body></soap:Envelope>"""

encoded_request = request.encode('utf-8')

headers = {
    "Host": "soap.track-and-trace.nl",
    "Content-Type": "text/xml; charset=utf-8",
    "Content-Length": str(len(encoded_request)),
    "SOAPAction": '"' + "http://tempuri.org/GetPersonIdInfos" + '"'
}
response = requests.post(
    url="http://soap.track-and-trace.nl/Service1.asmx",
    headers=headers,
    data=encoded_request,
    verify=False)


  [1]: https://i.stack.imgur.com/4Dake.png

0 个答案:

没有答案