我正在用PHP构建一个REST Web服务客户端,目前我正在使用curl向服务发出请求.
如何使用curl进行身份验证(http basic)请求?我必须自己添加标题吗?
我创建了我想使用bing搜索API的网站.因为它需要AppID但我没有得到AppID.我试图通过创建windows live ID在(天蓝色市场)上创建一个AppId .我创建了客户端ID并注册了应用程序.任何人都可以建议我如何获得bID搜索API的AppID?
请帮助确定Bing搜索请求的参数,以JSON格式返回结果.文档"迁移Bing Search API应用程序"告诉我们:"要使用Windows Azure Marketplace验证Bing Search API请求,您必须获取帐户密钥.此身份验证模式将替换Bing Search API 2.0中使用的AppID."
另一方面,同一文档提供了以下仍然使用Appid的示例:http://api.search.live.net/xml.aspx ? Appid = App&query = datata&sources = web&count = 2
以下请求:curl"https://api.datamarket.azure.com/Data.ashx/Bing/SearchWeb/v1/Web?Query=%27xbox%27&$top=50&$format=json$accountKey=TPP .. ..VRTWiq4 = $的appid =概念创始者"
导致以下错误:不支持您提供的授权类型.仅支持Basic和OAuth
请举例说明可以在CURL命令行中使用的搜索Bing URL,以获取JSON格式的搜索结果.
我正在尝试使用Windows Azure Marketplace 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)
)
));
Run Code Online (Sandbox Code Playgroud)
有谁知道导致错误的原因是什么?我已正确设置$accountKey并在浏览器中对其进行了测试.令我困惑的是127.0.0.1:8888,而且base64_encode($accountKey.":".$accountKey),为什么在使用浏览器$accountKey之前和之后需要:使用浏览器,你应该将用户名留空,只需将帐户密钥输入密码字段?