Я пытаюсь выполнить поиск Bing с помощью API Windows Azure Marketplace, я загрузил их руководство и пример кода. Код подготавливает запрос 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-код (из документа Microsoft):
$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
и я проверил его в браузере. Что меня немного base64_encode($accountKey.":".$accountKey)
127.0.0.1:8888
а также base64_encode($accountKey.":".$accountKey)
, почему вам нужно $accountKey
как до, так и после :
то время как при использовании браузера вы должны покинуть имя пользователя пустое и просто введите ключ учетной записи в поле пароля?
Я решил это, и вот что я нашел для будущих людей, которые будут делать то же самое:
Я прокомментировал строку, где говорится:
'proxy' => 'tcp://127.0.0.1:8888', 'request_fulluri' => true,
а также установить base64_encode("ignored:".$accountKey)
вместо
Основываясь на том, что я читал в MSDN, часть имени пользователя, как говорят, игнорируется , поэтому не имеет значения, какое значение она имеет. Я думал, что, возможно, длина или специальные персонажи в завязанных ключах, поэтому я заменяю ее ignored
(или что-то действительно).
Это сделал трюк, и я могу разобрать возвращаемые данные JSON. Удачи!