我尝试使用HttpClient将XML发送到私有API。服务器说他们期望:HTML Post在一个名为“request”的变量中包含xml。
我的代码:
XDocument document = new XDocument();
//Here I create the XML file
HttpClient client = new HttpClient();
// URL is the url for the private server
client.BaseAddress = new Uri(URL);
string request = document.ToString();
var httpConten = new StringContent(request, Encoding.UTF8, "application/xml");
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
var result = client.PostAsync("", httpConten).Result;
结果返回:
{StatusCode: 401, ReasonPhrase: 'Unauthorized', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
Connection: keep-alive
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Referrer-Policy: same-origin
Strict-Transport-Security: max-age=15768000; includeSubDomains
Cache-Control: no-store
Date: Thu, 14 Jun 2018 23:16:27 GMT
Set-Cookie: SESSION=8dfda17c-a5c9-44c6-ae2b-d74847039f87; Path=/; Secure; HttpOnly
Server: Apache-Coyote/1.1
Content-Length: 469
}}
我是否正在使用名为request的XML变量执行HTML帖子?我联系了服务器,他们说他们没有收到我的请求。
谢谢
答案 0 :(得分:0)
我是否正在使用名为request的XML变量进行HTML帖子?
要回答你的问题,你不是。您正在创建一个包含xml内容的请求。您定义的“请求”变量仅在您的本地环境中,并且根本不会出现在您的请求中。
名为“request”的变量中的xml
条件本身虽然很奇怪。这可能意味着发送一个json对象,你有属性“request”,它等于一个xml的字符串,然后他们自己解析这个东西。