2016-11-20 88 views
1

我正嘗試從Bing搜索API v2遷移到新的Cognitive Search API v5。 我能夠連接並執行新聞搜索。但結果我似乎無法獲得任何搜索結果的URL(靶位點),如 「URL」 =「http://somewebsite/newsarticle」 相反,我得到這樣的結果: 「URL」:「http://www.bing.com/cr?IG=A5F6CFB521CE442EB8ADC2B9DAD61C9F&CID=0EC3F0C」 ......Microsoft Cognitive Services新聞搜索結果URL

微軟文檔指出我應該得到的真正目標網址:API文檔中「http://tech.firstpost.com/news-analy ...」: 看行「URL」 https://dev.cognitive.microsoft.com/docs/services/56b43f72cf5ff8098cef380a/operations/56b449fbcf5ff81038d15cdf

但是當我打開測試控制檯的同一頁面上它給我的「http://www.bing.com/cr?IG=A5F6 ...」結果。

我錯過了什麼? 感謝您的幫助。

回答

0

我想出了一個解決方法。看起來不理想,但現在分叉。撰寫了一個解析Bing URL中的目標URL的方法:

url = TryGetUrlFromBingUrl(BingResultUrl); 



private string TryGetUrlFromBingUrl(string BingURL) 
{ 
    var queryString = HttpUtility.ParseQueryString(BingURL); 
    if (!string.IsNullOrEmpty(queryString["r"])) 
    { 
     return queryString["r"]; 
    } else 
    { 
     return BingURL; 
    } 
} 
0

Bing現在編碼它們的新聞和websearch的返回鏈接。您只能以明文形式顯示網址。也就是說,編碼的URL響應確實包含了它們引用的純文本URL的所有元素。

因此,如果您需要明文URL,最佳選項幾乎總是將編碼的URL解析爲gabics建議的。