如何访问bing搜索API并将结果存储到marklogic服务器?

时间:2015-03-28 08:31:28

标签: xquery marklogic bing-api

我想将访问搜索URL时返回的xml文件/文件存储到ML 8服务器中。 这就是我正在尝试的:

xquery version "1.0-ml";
let $xml := xdmp:http-get("https://api.datamarket.azure.com/Bing/Search/v1/News?Query=%27Vin%20Diesel%27",
     <options xmlns="xdmp:http">
       <authentication>
         <password>myPassword</password>
       </authentication>
     </options>)
     return xdmp:document-insert("/result",$xml[1],xdmp:default-permissions(),"news");

然而,这会给我一个错误,如下所示:

  

[1.0-ml] SVC-SOCHN:xdmp:http-get(&#34; https://api.datamarket.azure.com/Bing/Search/v1/News?Query=%27Vi ...&#34;,myPassword ...) - 套接字主机名错误:gethostbyname api.datamarket .azure.com:主机未找到

     

堆栈跟踪   在第8栏第43栏:

     

在xdmp:eval(&#34; xquery版本&#34; 1.0-ml&#34 ;; 让$ xml:= xdmp:http-get(...&#34;,(),3904735945144540670270578192404822 ...)

     

$ xml:= xdmp:http-get(&#34; https://api.datamarket.azure.com/Bing/Search/v1/News?Query=%27Vi ...&#34;,myPassword ...)

     

  )   return xdmp:document-insert(&#34; / result&#34;, $ xml [1] ,xdmp:default-permissions(),&#34; news&#34;);

网址没有问题。我保证这是正确的。

我想基本上将bing搜索api的所有结果存储到marklogic中。怎么了?如果这不是正确的方法,我可以尝试另一种方法吗?

感谢。感谢我能得到的任何帮助。

1 个答案:

答案 0 :(得分:0)

当我运行相同的xdmp:http-get命令时,我得到一个&#34;证书验证失败&#34;错误,这对于没有正确的密码是有意义的。看起来问题是到达主机。运行MarkLogic的主机上可能存在阻止出站流量的防火墙,或者可能未配置DNS。