Windows Azure的身份验证Bing搜索在PHP(Windows Azure Authent

2019-06-25 01:56发布

我试图通过使用Windows Azure的市场API进行Bing搜索,我已经下载了他们的向导和示例代码。 该代码与准备基本身份验证的HTTPS请求,但是我经常收到以下错误:

Warning: file_get_contents(https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/Web?Query=%27washburn%27&Adult=%27Off%27&$top=50&$format=Atom): failed to open stream: Connection refused

PHP代码(从微软的文档):

$context = stream_context_create(array(
    'http' => array(
    'proxy' => 'tcp://127.0.0.1:8888',
    'request_fulluri' => true,
    'header'  => "Authorization: Basic " . base64_encode($accountKey.":".$accountKey)
    )
));

有谁知道是什么原因造成的错误吗? 我已正确设置$accountKey ,我在浏览器中进行了测试。 令我百思不解的一点是127.0.0.1:8888 ,也base64_encode($accountKey.":".$accountKey)如何你需要来到$accountKey之前和之后的:使用浏览器而当你应该离开用户名空白,只输入账号密码到密码字段?

Answer 1:

我已经解决了它,这里是我已经找到了,将做同样的事情,未来的人:

我注释掉线,它说:

'proxy' => 'tcp://127.0.0.1:8888',
'request_fulluri' => true,

并设置base64_encode("ignored:".$accountKey)代替

此基础上我在MSDN上阅读,用户名部分被认为是忽略不计 ,所以它不应该的问题哪些价值是。 我想也许是长度还是关键中的特殊字符搞砸的事情,所以我会将其替换为ignored (或任何真的)。

这奏效了,我可以解析返回的JSON数据。 祝好运!



文章来源: Windows Azure Authentication for Bing Search in PHP