概述:通過bing的圖片搜索引擎,開發自己的圖片搜索應用程序。bing的圖片搜索接口是收費的,但是初次注冊使用,key可以免費試用30天
程序運行效果如下
一,代碼如下
static SearchResult BingImageSearch(string searchQuery)
{
// Construct the URI of the search request
var uriQuery = uriBase + "?q=" + Uri.EscapeDataString(searchQuery);
// Perform the Web request and get the response
WebRequest request = HttpWebRequest.Create(uriQuery);
request.Headers["Ocp-Apim-Subscription-Key"] = accessKey;
HttpWebResponse response = (HttpWebResponse)request.GetResponseAsync().Result;
string json = new StreamReader(response.GetResponseStream()).ReadToEnd();
// Create result object for return
var searchResult = new SearchResult()
{
jsonResult = json,
relevantHeaders = new Dictionary<String, String>()
};
// Extract Bing HTTP headers
foreach (String header in response.Headers)
{
if (header.StartsWith("BingAPIs-") || header.StartsWith("X-MSEdge-"))
searchResult.relevantHeaders[header] = response.Headers[header];
}
return searchResult;
}
通過該方法返回一個json格式的搜索結果
二、點擊搜索的時候
private void Button_Click(object sender, RoutedEventArgs e)
{
searchInfo.List.Clear();
string searchTerm = searchInfo.SearchTerm;
SearchResult result = BingImageSearch(searchTerm);
JObject jo = (JObject)JsonConvert.DeserializeObject(result.jsonResult);
IJEnumerable<JToken> values = jo["value"]; ;
foreach (JToken jk in values)
{
string imageUrl = jk["contentUrl"].ToString();
string imageTitle = jk["name"].ToString();
SearchItemResult sr = new SearchItemResult();
sr.Url = imageUrl;
sr.Title = imageTitle;
searchInfo.List.Add(sr);
}
把搜索結果添加到list里面。
}
在這不多說了,大家想看源碼,可以直接到這個地址下載:http://download.csdn.net/download/soft_123456/10113322
謝謝!有任何問題可以給我留言。盡量在最短的時間內回復大家。