首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >包含标头和正文的HTTPClient Post请求

包含标头和正文的HTTPClient Post请求
EN

Stack Overflow用户
提问于 2019-05-27 01:12:51
回答 1查看 3.2K关注 0票数 0

我希望使用HttpClient设置Content-Type和Authorization,并加载正文( request )的xml文件并发送Post请求。

我已经搜索了Post请求的标题和正文的组合。

使用HttpRequestMessage设置标头。

代码语言:javascript
复制
   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主体-

代码语言:javascript
复制
XDocument xml = XDocument.Load("RequestSession.xml");

正在转换为Document.ToString()

代码语言:javascript
复制
var httpContent = new StringContent(xml.Document.ToString(), Encoding.UTF8, "application/vnd.citrix.sessionstate+xml");

请帮助我使用HttpClient组合Post请求的头部和正文。

EN

回答 1

Stack Overflow用户

发布于 2019-05-27 02:15:15

我不知道这是否是您正在调用的服务的有效请求,但要设置头和主体并发送请求,它将如下所示:

代码语言:javascript
复制
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,是因为你发送的不适合这个接口,而不是因为你发送它的方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56315725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档