使用Bing API:连接API并从中获取数据的最简单方法

时间:2015-04-06 12:15:49

标签: c# asp.net bing-api

我已经搜索了一段时间,寻找与其他网站WebAPI连接的简便方法。有一些解决方案,但它们是以非常复杂的方式制作的。

我想做什么:

  1. 使用网址地址与服务器连接
  2. 提供登录名和密码以获取一些数据
  3. 以JSON / XML
  4. 获取数据
  5. 将此数据保存在易于阅读的#34;办法。我的意思是:将它保存到C#变量中,这很容易修改。
  6. 目前,我想要使用的API是必应搜索,但我正在寻找一些通用的方法。我找到了an example,但它对我不起作用,在我的应用中,我无法使用此类:" DataServiceQuery"因为它不存在。

    你通常怎么做?你有自己喜欢的解决方案吗?是否有一些通用的方法,或者它取决于您使用的API类型?

    我目前正在使用.NET MVC应用程序(如果它可以有任何区别)

2 个答案:

答案 0 :(得分:1)

从服务器端

你可以像下面那样使用它。

// 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结合使用来完成您的工作。

它的步骤很少。

  1. 使用Ajax jquery调用调用web api。
  2. 获取JSON的回应
  3. 编写javascript代码来操作该响应并执行您的操作。
  4. 这是最简单的方法。

    请参阅以下链接以供参考:

    http://www.codeproject.com/Articles/424461/Implementing-Consuming-ASP-NET-WEB-API-from-JQuery

答案 1 :(得分:0)

这完全取决于您要使用的API类型。从.Net的角度来看,可能有.Net 2 Web ServicesWCF ServicesWeb API Services

今天的Web API遵循REST标准和RMM。某些API需要作为url参数提供的API密钥,其他API则要求您放入请求的标头。甚至一些更强大的API,使用OAuth 2等身份验证方案。一些公司已经设计了自己的标准和惯例。

所以,简短的回答是没有通用的方法。很长的答案来自每个API的文档,并且彼此不同。