Файл-получить-содержимое не удалось открыть поток Неавторизованный

Я пытаюсь использовать file_get_contents. Я убедился, что allow_url_fopen включен в php.ini. На данный момент это говорит мне:

[function.file-get-contents]: не удалось открыть поток: HTTP-запрос не удался! HTTP / 1.1 401 Несанкционированный

Все, что я делаю, следующее: я могу получить доступ через браузер без проблем.

$url=('http://site/@api/users/=john_smith@site.com/properties'); $xmlString=file_get_contents($url); 

Я считаю, что это проблема аутентификации, но не знаю, как я могу предоставить правильные учетные данные из самого скрипта. Любые идеи очень приветствуются.

Solutions Collecting From Web of "Файл-получить-содержимое не удалось открыть поток Неавторизованный"

В своем url попробуйте:

 http://user:password@site/ 

(добавьте все остальное URL-адрес для вашего API)

Просто поместите информацию о пользователе в URL-адрес:

 $url = 'http://user:password@domain.tld/foo/bar/whatever'; 

401 Unauthorized код состояния означает, что вы должны пройти аутентификацию, но этого у вас нет, или что вы прошли аутентификацию с неправильными учетными данными. Он чаще всего используется при использовании HTTP-аутентификации, которая является аутентификацией, встроенной в HTTP-протокол, и поэтому является универсальной не только для документов HTML, но и для чего-либо, переданного по протоколу HTTP.

Для аутентификации с помощью HTTP-аутентификации просто добавьте username:password@ перед именем хоста в URL-адресе. Например:

Http: // Foobar: mysupersecretpassword@example.com/passwordprotected/

Это запросит каталог /passwordprotected/ from example.com с именем пользователя foobar и паролем mysupersecretpassword .

Это не хуже. 🙂