我希望使用HttpClient设置Content-Type和Authorization,并加载正文( request )的xml文件并发送Post请求。
我已经搜索了Post请求的标题和正文的组合。
使用HttpRequestMessage设置标头。
HttpClient clientTest = new HttpClient();
HttpRequestMessage httpRequest = new HttpRequestMessage(HttpMethod.Post,url);
httpRequest.Content = new StringContent(string.Empty, Encoding.UTF8, "application/vnd.citrix.sessionparams+xml");
httpRequest.Headers.Authorization = new AuthenticationHeaderValue("CitrixAuth", "H4sIAAAAAAAEAK1X2Y6jyBL9lZLnEbnZt1J");
设置xml主体-
XDocument xml = XDocument.Load("RequestSession.xml");
正在转换为Document.ToString()
var httpContent = new StringContent(xml.Document.ToString(), Encoding.UTF8, "application/vnd.citrix.sessionstate+xml");
请帮助我使用HttpClient组合Post请求的头部和正文。
发布于 2019-05-27 02:15:15
我不知道这是否是您正在调用的服务的有效请求,但要设置头和主体并发送请求,它将如下所示:
HttpClient clientTest = new HttpClient();
HttpRequestMessage httpRequest = new HttpRequestMessage(HttpMethod.Post,url);
httpRequest.Content = new StringContent(xml.Document.ToString(), Encoding.UTF8, "application/vnd.citrix.sessionstate+xml");
httpRequest.Headers.Authorization = new AuthenticationHeaderValue("CitrixAuth", "H4sIAAAAAAAEAK1X2Y6jyBL9lZLnEbnZt1J");
var response = await clientTest.SendAsync(httpRequest);
如果你收到一个400 Bad Request it,是因为你发送的不适合这个接口,而不是因为你发送它的方式。
https://stackoverflow.com/questions/56315725
复制相似问题