Вопрос по header, http, php – Проверка подлинности Windows Azure для поиска Bing в PHP

2

Я пытаюсь выполнить поиск 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 и я проверил это в браузере. Что меня немного озадачивает, так это127.0.0.1:8888 а такжеbase64_encode($accountKey.":".$accountKey) почему тебе нужно$accountKey как до, так и после: в то время как при использовании браузера вы должны оставить имя пользователя пустым и просто ввести ключ учетной записи в поле пароля?

Вы можете использовать что-то еще для первого $ accountKey, так как оно все равно будет проигнорировано. Rizwan Sattar

Ваш Ответ

1   ответ
8

и вот что я нашел для будущих людей, которые будут делать то же самое:

Я закомментировал строку, где говорится:

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

а также установитьbase64_encode("ignored:".$accountKey) вместо

Основываясь на том, что я читаю на MSDN, часть имени пользователя называетсяignoredтак что не имеет значения, какое это значение. Я думал, может быть, длина или специальные символы в ключе испортили, поэтому я заменяю его наignored (или что-нибудь действительно).

Это помогло, и я могу проанализировать возвращенные данные JSON. Удачи!

Error: User Rate Limit Exceeded

Похожие вопросы