Dela via


Snabbstart: Anropa slutpunkten för anpassad Bing-sökning med C#

Varning

Den 30 oktober 2020 flyttade Bing-sökning API:er från Azure AI-tjänster till Bing-sökning Services. Den här dokumentationen tillhandahålls endast som referens. Uppdaterad dokumentation finns i dokumentationen för API:et för Bing-sökning. Anvisningar om hur du skapar nya Azure-resurser för Bing-sökning finns i Skapa en Bing-sökning resurs via Azure Marketplace.

Använd den här snabbstarten om du vill lära dig hur du begär sökresultat från din anpassade Bing-sökinstans. Även om det här programmet är skrivet i C#, är API:et för anpassad sökning i Bing en RESTful-webbtjänst som är kompatibel med de flesta programmeringsspråk. Källkoden för det här exemplet är tillgänglig på GitHub.

Förutsättningar

  • En instans av anpassad Bing-sökning. Mer information finns i Snabbstart: Skapa din första anpassade Bing-sökinstans.

  • Microsoft .NET Core.

  • Alla utgåvor av Visual Studio 2019 eller senare.

  • Om du använder Linux/Mac OS kan det här programmet köras med Mono.

  • NuGet-paketet för anpassad sökning i Bing .

    Så här installerar du det här paketet i Visual Studio:

    1. Högerklicka på projektet i Solution Explorer och välj sedan Hantera NuGet-paket.
    2. Sök efter och välj Microsoft.Azure.CognitiveServices.Search.CustomSearch och installera sedan paketet.

    När du installerar NuGet-paketet för anpassad sökning i Bing installerar Visual Studio även följande paket:

    • Microsoft.Rest.ClientRuntime
    • Microsoft.Rest.ClientRuntime.Azure
    • Newtonsoft.Json

Skapa en Azure-resurs

Börja använda API:et för anpassad sökning i Bing genom att skapa någon av följande Azure-resurser.

Anpassad sökresurs i Bing

  • Tillgänglig via Azure Portal tills du tar bort resursen.
  • Använd den kostnadsfria prisnivån för att prova tjänsten och uppgradera senare till en betald nivå för produktion.

Resurs för flera tjänster

  • Tillgänglig via Azure Portal tills du tar bort resursen.
  • Använd samma nyckel och slutpunkt för dina program i flera Azure AI-tjänster.

Skapa och initiera appen

  1. Skapa ett nytt C#-konsolprogram i Visual Studio. Lägg sedan till följande paket i projektet:

    using System;
    using System.Net.Http;
    using System.Web;
    using Newtonsoft.Json;
    
  2. Skapa följande klasser för att lagra sökresultaten som returneras av API:et för anpassad sökning i Bing:

    public class BingCustomSearchResponse {        
        public string _type{ get; set; }            
        public WebPages webPages { get; set; }
    }
    
    public class WebPages {
        public string webSearchUrl { get; set; }
        public int totalEstimatedMatches { get; set; }
        public WebPage[] value { get; set; }        
    }
    
    public class WebPage {
        public string name { get; set; }
        public string url { get; set; }
        public string displayUrl { get; set; }
        public string snippet { get; set; }
        public DateTime dateLastCrawled { get; set; }
        public string cachedPageUrl { get; set; }
    }
    
  3. I huvudmetoden för projektet skapar du följande variabler för prenumerationsnyckeln för api för anpassad sökning i Bing, sökinstansens anpassade konfigurations-ID och sökterm:

    var subscriptionKey = "YOUR-SUBSCRIPTION-KEY";
    var customConfigId = "YOUR-CUSTOM-CONFIG-ID";
    var searchTerm = args.Length > 0 ? args[0]:"microsoft";
    
  4. Skapa begärande-URL:en genom att lägga till söktermen q= till frågeparametern och sökinstansens anpassade konfigurations-ID till parametern customconfig= . Avgränsa parametrarna med ett et-tecken (&). url För variabelvärdet kan du använda den globala slutpunkten i följande kod eller använda den anpassade underdomänslutpunkten som visas i Azure Portal för resursen.

    var url = "https://api.cognitive.microsoft.com/bingcustomsearch/v7.0/search?" +
                "q=" + searchTerm + "&" +
                "customconfig=" + customConfigId;
    

Skicka och ta emot en sökbegäran

  1. Skapa en begäranklient och lägg till prenumerationsnyckeln i Ocp-Apim-Subscription-Key-rubriken.

    var client = new HttpClient();
    client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
    
  2. Utför sökbegäran och få svaret som ett JSON-objekt.

    var httpResponseMessage = client.GetAsync(url).Result;
    var responseContent = httpResponseMessage.Content.ReadAsStringAsync().Result;
    BingCustomSearchResponse response = JsonConvert.DeserializeObject<BingCustomSearchResponse>(responseContent);
    

Bearbeta och visa svaren

  • Iterera över svarsobjektet för att visa information om varje sökresultat, inklusive dess namn, URL och webbsidans senaste crawlningsdatum.

    for(int i = 0; i < response.webPages.value.Length; i++) {                
        var webPage = response.webPages.value[i];
    
        Console.WriteLine("name: " + webPage.name);
        Console.WriteLine("url: " + webPage.url);                
        Console.WriteLine("displayUrl: " + webPage.displayUrl);
        Console.WriteLine("snippet: " + webPage.snippet);
        Console.WriteLine("dateLastCrawled: " + webPage.dateLastCrawled);
        Console.WriteLine();
    }
    Console.WriteLine("Press any key to exit...");
    Console.ReadKey();
    

Nästa steg