Rövid útmutató: A Bing Custom Search-végpont hívása C használatával#
Figyelmeztetés
2020. október 30-án a Bing Search API-k átkerültek az Azure AI-szolgáltatásokból a Bing Search Servicesbe. Ez a dokumentáció csak referenciaként szolgál. A frissített dokumentációt a Bing search API dokumentációjában találja. Az új Azure-erőforrások Bing-kereséshez való létrehozásával kapcsolatos útmutatásért lásd: Bing Search-erőforrás létrehozása a Azure Marketplace keresztül.
Ebből a rövid útmutatóból megtudhatja, hogyan kérhet le keresési eredményeket a Bing Custom Search-példányból. Bár ez az alkalmazás C#-ban van megírva, a Bing Custom Search API egy RESTful webszolgáltatás, amely kompatibilis a legtöbb programozási nyelvvel. A minta forráskódja elérhető a GitHubon.
Előfeltételek
Egy Bing Custom Search-példány. További információ : Rövid útmutató: Az első Bing Custom Search-példány létrehozása.
A Visual Studio 2019 vagy újabb verzióinak bármely kiadása.
Linux/MacOS használata esetén ez az alkalmazás a Mono használatával futtatható.
A Bing Custom Search NuGet-csomag.
A csomag telepítése a Visual Studióban:
- Kattintson a jobb gombbal a projektre a Megoldáskezelő, majd válassza a Manage NuGet Packages (NuGet-csomagok kezelése) lehetőséget.
- Keresse meg és válassza a Microsoft.Azure.CognitiveServices.Search.CustomSearch elemet, majd telepítse a csomagot.
A Bing Custom Search NuGet-csomag telepítésekor a Visual Studio a következő csomagokat is telepíti:
- Microsoft.Rest.ClientRuntime
- Microsoft.Rest.ClientRuntime.Azure
- Newtonsoft.Json
Azure-erőforrás létrehozása
Kezdje el használni a Bing Custom Search API-t az alábbi Azure-erőforrások egyikének létrehozásával.
Bing Custom Search-erőforrás
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Az ingyenes tarifacsomag használatával próbálja ki a szolgáltatást, és frissítsen később egy fizetős szintre éles környezetben.
Többszolgáltatásos erőforrás
- Az Azure Portal keresztül érhető el, amíg el nem törli az erőforrást.
- Használja ugyanazt a kulcsot és végpontot az alkalmazásokhoz több Azure AI-szolgáltatásban.
Az alkalmazás létrehozása és inicializálása
Hozzon létre egy új C#-konzolalkalmazást a Visual Studióban. Ezután adja hozzá a következő csomagokat a projekthez:
using System; using System.Net.Http; using System.Web; using Newtonsoft.Json;
Hozza létre a következő osztályokat a Bing Custom Search API által visszaadott keresési eredmények tárolásához:
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; } }
A projekt fő módszerében hozza létre a következő változókat a Bing Custom Search API-előfizetési kulcsához, a keresési példány egyéni konfigurációs azonosítójához és a keresési kifejezéshez:
var subscriptionKey = "YOUR-SUBSCRIPTION-KEY"; var customConfigId = "YOUR-CUSTOM-CONFIG-ID"; var searchTerm = args.Length > 0 ? args[0]:"microsoft";
A kérelem URL-címét úgy hozhatja létre, hogy hozzáfűzi a keresési kifejezést a
q=
lekérdezési paraméterhez, valamint a keresési példány egyéni konfigurációs azonosítóját acustomconfig=
paraméterhez. Válassza el a paramétereket egy ampers és (&
) paraméterrel.url
A változó értékéhez használhatja a globális végpontot az alábbi kódban, vagy használhatja az erőforrás Azure Portal megjelenő egyéni altartományvégpontot.var url = "https://api.cognitive.microsoft.com/bingcustomsearch/v7.0/search?" + "q=" + searchTerm + "&" + "customconfig=" + customConfigId;
Keresési kérelem küldése és fogadása
Hozzon létre egy kérelemügyfélt, és adja hozzá az előfizetési kulcsot a
Ocp-Apim-Subscription-Key
fejléchez.var client = new HttpClient(); client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
Hajtsa végre a keresési kérést, és kérje le a választ JSON-objektumként.
var httpResponseMessage = client.GetAsync(url).Result; var responseContent = httpResponseMessage.Content.ReadAsStringAsync().Result; BingCustomSearchResponse response = JsonConvert.DeserializeObject<BingCustomSearchResponse>(responseContent);
Dolgozza fel és tekintse meg az eredményeket
Iterálja át a válaszobjektumot az egyes keresési eredményekre vonatkozó információk megjelenítéséhez, beleértve a nevét, url-címét és a weblap utolsó bejárásának dátumát.
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();