2012-06-01 34 views
2

我嘗試使用Windows Azure Marketplace API執行必應搜索,我下載了他們的指南和示例代碼。該代碼準備與基本身份驗證的HTTPS請求,但我不斷收到以下錯誤:用於Windows搜索引擎的Bing搜索的Windows Azure身份驗證

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:8888base64_encode($accountKey.":".$accountKey),你怎麼需要$accountKey之前和之後:而在使用瀏覽器時,你應該留下用戶名爲空,只需輸入帳戶密碼到密碼字段?

+0

您可以爲第一個$ accountKey使用其他內容,因爲無論如何它都將被忽略。 –

回答

8

我已經解決了它,這裏是我已經找到了,將做同樣的事情將來人:

我註釋掉線,它說:

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

,還可以設置base64_encode("ignored:".$accountKey)而不是

此基礎上我在MSDN上閱讀,用戶名部分被說成是忽略,所以它不應該的問題哪些價值是。我想也許是關鍵的東西的長度或特殊字符,所以我用ignored(或其他任何東西)替換它。

這樣做的技巧,我可以解析返回的JSON數據。祝你好運!

+1

太好了。您可以將自己的答覆標記爲答案。 –