[英]C#: Sending parameter with Content-Type Header in HTTP
我尝试使用HTTP client
发送HTTP post
请求。同时使用StringContent
方法设置Content-Type
标头时,出现错误:
格式“ application / json; ty = 2”不正确
我的代码如下:
string result2 = JsonConvert.SerializeObject(values);
var content = new StringContent(result2, Encoding.UTF8, "application/json; ty=2");
var response = await client.PostAsync("http://127.0.0.1:8080/~/in-cse/in-name", content);
var response_string = await response.Content.ReadAsStringAsync();
但是以我的HTTP Post格式,我必须包括ty=2
参数以及application/json
。 我已经与Postman
进行了测试,效果很好。 我如何在这里实现同样的目标。 我什至还发现您可以采用以下格式将参数添加到内容类型: content := "Content-Type" ":" type "/" subtype *(";" parameter)
那么为什么它对我不起作用。 **编辑:**甚至尝试过此操作:
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "http://127.0.0.1:8080/~/in-cse/in-name");
request.Content = new StringContent(result2, Encoding.UTF8, "application/json;ty=2");
client.SendAsync(request).ContinueWith(resposetask => { Console.WriteLine("response:{0}", resposetask.Result); });
我得到的相同错误
您将必须在HttpClient
DefaultRequestHeaders
中使用TryAddWithoutValidation
,如下所示:
client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json;ty=2");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.