1

我正在尝试从 Bing 搜索 API v2 迁移到新的认知搜索 API v5。我能够连接并执行新闻搜索。但在结果中,我似乎无法获得任何搜索结果 URL(目标站点),例如“url”=“ http://somewebsite/newsarticle ”,而是得到如下结果:“url”:“ http://www. bing.com/cr?IG=A5F6CFB521CE442EB8ADC2B9DAD61C9F&CID=0EC3F0C " ....

微软文档指出我应该得到真正的目标网址:请参阅api 文档中的“url”行:“ http://tech.firstpost.com/news-analy ...”: https://dev.cognitive。 microsoft.com/docs/services/56b43f72cf5ff8098cef380a/operations/56b449fbcf5ff81038d15cdf

但是当我在同一页面上打开测试控制台时,它会给我“ http://www.bing.com/cr?IG=A5F6 ...”结果。

我错过了什么?谢谢你的帮助。

4

2 回答 2

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;
    }
}
于 2016-11-21T00:17:07.347 回答
0

Bing 现在对新闻和网络搜索的返回链接进行编码。您只会获得纯文本的显示 URL。也就是说,编码的 URL 响应确实包含它们引用的纯文本 URL 的所有元素。

因此,如果您需要纯文本 URL,最好的选择几乎总是按照 gabics 的建议解析编码的 URL。

于 2016-11-23T19:28:56.840 回答