Не удается получить Bing Image Search Api версии 5 для возврата изображений

#c# #asp.net #image #api #bing

#c# #asp.net #изображение #API #bing

Вопрос:

Я надеюсь, что кто-нибудь сможет мне помочь. Я пытаюсь заставить Api поиска изображений Bing версии 5 возвращать некоторые фактические результаты, но, похоже, он этого не хочет: (.

Когда я использую консоль тестирования по ссылке ниже, она возвращает изображения просто отлично: https://dev.cognitive.microsoft.com/docs/services/56b43f0ccf5ff8098cef3808/operations/571fab09dbe2d933e891028f/console

На данный момент я почти скопировал и вставил код C # по этой ссылке: https://dev.cognitive.microsoft.com/docs/services/56b43f0ccf5ff8098cef3808/operations/56b4433fcf5ff8098cef380c

Итак, в итоге я получил это, за вычетом того, что я удалил свой новый ключ версии 5:

 async void MakeRequest()
{
    var client = new HttpClient();
    var queryString = HttpUtility.ParseQueryString(string.Empty);

    // Request headers
    client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "My Key goes here");

    // Request parameters
    queryString["q"] = "cats";
    queryString["count"] = "10";
    queryString["offset"] = "0";
    queryString["mkt"] = "en-us";
    queryString["safeSearch"] = "Moderate";
    var uri = "https://api.cognitive.microsoft.com/bing/v5.0/images/search?"   queryString;

    var response = await client.GetAsync(uri);

    litTest.Text = response.ToString();
}
 

Что дает этот результат (извините, если это немного неаккуратно, я к этому еще не привык, любые советы приветствуются):

StatusCode: 200, ReasonPhrase: ‘OK’, Версия: 1.1, Содержимое: System.Net.Http.StreamContent, Заголовки: { Pragma: no-cache Vary: Accept-Encoding Cache-Control: не хранить, не проверять, не кэшировать P3P: CP =»НЕ UNI COMNAV STA LOC CURa DEVa PsaA PSDa НАШ IND» Set-Cookie: SRCHD=AF= NOFORM; domain=.bingapis.com ; истекает= Пн, 15-Окт-2018 19:44:57 GMT; путь =/ Set-Cookie: SRCHUID=V= 2amp;GUID=4259560ECDB441FAAF5D7E390BBCF796; истекает= Пн, 15-Oct-2018 19:44:57 GMT; path=/ Set-Cookie: SRCHUSR=DOB= 20161015; domain=.bingapis.com ; истекает= Пн, 15-Окт-2018 19:44:57 GMT; путь=/ Set-Cookie: _SS=SID=1992B4120F0069473316BDBD0EE76838; domain=.bingapis.com ; путь=/Set-Cookie: _EDGE_S=mkt=en-usamp;F= 1amp;SID=1992B4120F0069473316BDBD0EE76838; path=/; httponly; domain=bingapis.com Установить-Cookie: _EDGE_V=1; путь=/; httponly; истекает= Пн, 15-Окт-2018 19:44:57 GMT; domain=bingapis.com Набор-Cookie: MUID=14FADE76CCDC68020A5DD7D9CD3B69D8; путь =/; истекает = Пн, 15-Окт-2018 19:44:57 GMT; домен = bingapis.com Set-Cookie: MUIDB=14FADE76CCDC68020A5DD7D9CD3B69D8; path=/; httponly; истекает = Пн, 15-Окт-2018 19:44:57 GMT BingAPIs-traceId: 14F0C29C68D24DAA8E845774043CB487 X-MSEdge-ClientID: 14FADE76CCDC68020A5DD7D9CD3B69D8 X-MSAPI-Пользовательское состояние: e7cc X-MSEdge-Ссылка: Ссылка A: 14F0C29C68D24DAA8E845774043CB487 СсылкаB: 6ABDFD5BE70A83784C9179474D02662D Ссылка C: Сб Окт 15 12:44:57 2016 PST apim-request-id: 4d782700-4993-4975- 9a9b-e19dea659101 Дата: Сб, 15 окт 2016 19:44:57 GMT Длина содержимого: 82014 Тип содержимого: application / json; кодировка=utf-8 Истекает: -1 }

Кто-нибудь может помочь с тем, что я делаю неправильно, у меня версия 2 работает просто отлично, но в декабре она была отключена.

Большое вам спасибо за чтение и просмотр :).

Ответ №1:

Вы не читаете содержимое своего ответа в своем примере. Вам нужно получить фактический json из содержимого ответа, например, так:

 var response = await client.GetAsync(uri);
litTest.Text = await response.Content.ReadAsStringAsync();
 

Комментарии:

1. ДА! ДА! Это работает, большое вам спасибо. Я начинал с этого весь день: D.