我越来越差了StatusCode:400,ReasonPhrase:'Bad Request'与下面的代码。当使用httpclient C使用json webservice时出现'Bad Request'错误C#
string url = "http://1.1.1.1";
Object cu = new Object();
HttpClient client = new HttpClient { BaseAddress = new Uri(url) };
var json = JsonConvert.SerializeObject(cu);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var content = new StringContent(JsonConvert.SerializeObject(cu), Encoding.UTF8, "application/json");
var response = client.PostAsJsonAsync("/api", content); //changed content from cu
var status = response.Result;
我注意到我的状态码的Content-Type:仍然是text/html而不是application/json。
请协助。
注意:上面提到的编辑代码在评论中提到。 另外我能够通过下面的jquery使用服务。但我需要C#代码才能工作。
$.ajax({
cache: false,
type: "POST",
async: true,
url: RequestUrl,
data: JSON.stringify(jData),
contentType: "application/json",
dataType: "json",
success: function (result) {
alert(result.ResultCode);
},
error: function (result) {
alert('error' + result.responseText);
}
});
我在'HttpClient'中找不到名为'PostAsJsonAsync'的方法。这是什么? – 2015-04-02 23:42:35
@AleksandrIvanov - 请参阅[HttpClientExtensions.PostAsJsonAsync](https://msdn.microsoft.com/en-us/library/system.net.http.httpclientextensions.postasjsonasync%28v=vs.118%29.aspx) – dbc 2015-04-02 23:58:05
不是真的如果不知道“jData”包含什么以及您实际上在.NET代码中发送了什么,这将非常有用。你还没有提供一个可重现的例子,这使得除了野生猜测之外很难提供任何类型的帮助。 – 2015-04-03 14:59:11