Я работаю с API, который, как я заметил недавно, иногда не работает в коде. Я получаю его через file_get_contents, и я получаю сообщение об ошибке «не удалось открыть поток: HTTP-запрос не удался!»Получить внешний контент страницы независимо от типа ответа
Я подключил URL-адрес непосредственно в браузере, и я возвращаю ответ, поэтому я был в замешательстве. Я решил проверить заголовки, и я заметил, что он подходит к 403 годам, и я должен предположить, почему это не удается? Когда это не 403, он работает. 403 возникает только тогда, когда аутентификация API завершается неудачно, и у меня есть код, чтобы проверить, не возвращается ли возвращенный XML.
Так что на самом деле вопрос в том, как я могу вернуть код, независимо от его 403 или нет. Я собирался начать использовать simplexml_load_file, так как я загружаю его в SimpleXML в любом случае, но если есть другой метод, который я могу/должен использовать, этот совет будет отличным.
EDIT: я попытался простой завиток запрос, но если я не сделал это неправильно, его также не удалось:
$curlObject = curl_init('https://api.eveonline.com/account/Characters.xml.aspx?userID=8166034&characterID=91242713&apiKey=B174C8B7B4364048B8A44B8C494904059D50B942BB4748FD907FF1DBF3F18282');
curl_setopt($curlObject, CURLOPT_RETURNTRANSFER, 1);
$fileContents = curl_exec($curlObject);
curl_close($curlObject);
echo $fileContents;
Можете ли вы поделиться ссылкой? –
http://api.eveonline.com/account/Characters.xml.aspx?userID=8166034&characterID=91242713&apiKey=B174C8B7B4364048B8A44B8C494904059D50B942BB4748FD907FF1DBF3F18282 – RhoVisions
Вы спрашиваете, как получить код статуса HTTP последней операции file_get_contents? Да, «FALSE» означает сбой, точный код состояния является частью ['$ http_response_headers' (специальная зарезервированная переменная)] (http://php.net/reserved.variables.httpresponseheader), см. [Здесь для примера, как проанализировать его и получить код состояния] (http://stackoverflow.com/a/7566440/367456) (через: http://stackoverflow.com/q/9724924/367456). – hakre