2016-11-20 135 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建议的。