#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.