我已经搜索了一段时间,寻找与其他网站WebAPI连接的简单方法。有一些解决方案,但它们是以非常复杂的方式制定的。
我想做的事:
- 使用URL地址连接服务器
- 提供登录名和密码以获取一些数据
- 以JSON/XML形式获取数据
- 以"易读"的方式保存这些数据。我的意思是:把它保存到C#变量中,这样可以很容易地修改
目前,我想使用的API是必应搜索,但我正在寻找一些通用的方法。我找到了一个例子,但它对我不起作用,在我的应用程序中,我不能使用这个类:"DataServiceQuery",因为它不存在。
你通常是怎么做的?你有你最喜欢的解决方案吗?是否有一些通用的方法或取决于您使用的API类型?
我目前正在工作。NET MVC应用程序(以防有任何不同)
从服务器端
你可以像下面这样使用它。
// Create an HttpClient instance
HttpClient client = new HttpClient();
// Send a request asynchronously continue when complete
client.GetAsync(_address).ContinueWith(
(requestTask) =>
{
// Get HTTP response from completed task.
HttpResponseMessage response = requestTask.Result;
// Check that response was successful or throw exception
response.EnsureSuccessStatusCode();
// Read response asynchronously as JsonValue
response.Content.ReadAsAsync<JsonArray>().ContinueWith(
(readTask) =>
{
var result = readTask.Result
//Do something with the result
});
});
您可以在下面的链接中看到示例。
https://code.msdn.microsoft.com/Introduction-to-HttpClient-4a2d9cee
对于JavaScirpt:您可以同时使用jQuery和WebAPI来完成您的工作。
只有几步之遥。
- 使用Ajax jquery调用调用web api
- 获取JSON中的响应
- 编写javascript代码来处理该响应并完成您的工作
这是最简单的方法。
参考如下链接:
http://www.codeproject.com/Articles/424461/Implementing-Consuming-ASP-NET-WEB-API-from-JQuery
这完全取决于您想要使用的API类型。来自。Net的角度来看,可能存在.Net 2 Web Services
、WCF Services
和Web API Services
。
如今,Web API遵循REST标准和RMM。一些API需要提供作为url参数的API密钥,另一些则需要您放入请求的头。即使是一些更健壮的API,也要使用OAuth2之类的身份验证方案。一些公司制定了自己的标准和惯例。
因此,简短的答案是没有通用的方法。长的答案来自每个API的文档,并且每个API都不同。