[英]Setting up a REST Client Application (Post) from a Web API
在尝试从Web服务检索POST操作的结果时遇到了一些问题。 我一直在使用chrome扩展程序来测试API服务,并且它们在那里工作。 但是我一直在用代码实现它方面遇到问题。
这是chrome扩展程序用法的示例:
我想在代码上检索的是最后一部分,即POST操作生成的json数组,其内容为accessToken。
但是,在下面我一直使用的代码中,我只能访问状态(200 OK)等。
这是我正在使用的代码的预览:
{
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(url.Text);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(header.Text));
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, url.Text);
request.Content = new StringContent(body.Text, Encoding.UTF8, header.Text);
client.SendAsync(request)
.ContinueWith(responseTask =>
{
MessageBox.Show(responseTask.Result.Content.Headers.ToString());
}
);
}
Header.Text恰好是“ application / json”,body.Text是具有各种属性(如用户名和密码(字符串格式))的body,而url.Text包含用于调用Web服务的完整URL。
我想知道我的代码在做什么错,我该怎么做才能获得包含accessToken的json数组
在您的代码中,您需要使用ReadAsStringAsync
方法将HttpContent
对象转换为string
/ json。 例如:
client.SendAsync(request)
.ContinueWith(responseTask =>
{
var jsonString = responseTask.Result.Content.ReadAsStringAsync().Result;
MessageBox.Show(jsonString);
});
然后您可以根据需要转换jsonString
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.