2016-11-20 1 views
1

J'essaie de migrer de l'API de recherche Bing v2 vers la nouvelle API Cognitive Search v5. Je suis capable de me connecter et d'exécuter une recherche de nouvelles. Mais dans les résultats que je ne peux pas sembler obtenir l'une des URL de résultats de recherche (sites cibles) comme « url » = « http://somewebsite/newsarticle » au lieu que j'obtenir des résultats comme: « url »: « http://www.bing.com/cr?IG=A5F6CFB521CE442EB8ADC2B9DAD61C9F&CID=0EC3F0C » ....Microsoft Cognitive Services Nouvelles Résultat de la recherche URLs

documentation Microsoft indique que je devrais obtenir l'URL réelle cible: Voir la ligne « url »: « http://tech.firstpost.com/news-analy ... » dans la documentation api: https://dev.cognitive.microsoft.com/docs/services/56b43f72cf5ff8098cef380a/operations/56b449fbcf5ff81038d15cdf

Mais quand j'ouvre la console de test sur la même page il donne moi les résultats "http://www.bing.com/cr?IG=A5F6 ...".

Qu'est-ce qui me manque? Merci pour votre aide.

Répondre

0

J'ai trouvé une solution de contournement. Ne semble pas idéal, mais forks pour l'instant. A écrit une méthode qui analyse l'URL cible de l'URL Bing:

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 code maintenant leurs liens de retour pour les nouvelles et websearch. Vous n'aurez que les URL à afficher en texte brut. Cela dit, les réponses URL codées contiennent tous les éléments des URL en texte brut auxquelles elles se réfèrent. Pour cette raison, si vous avez besoin d'URL en clair, la meilleure option est presque toujours d'analyser les URL encodées comme suggéré par gabics.