У меня есть некоторые проблемы. Я пытаюсь получить информационный ресурс. И перед этим мне нужна базовая аутентификация. Я нашел здесь некоторое решение, но оно не работает.Как file_get_contents от HTTPS с базовой аутентификацией?
$username = "username";
$password = "password";
$url = "https://sapi.website.ru:3443/services/";
//GetCountries
$urlCountries = $url."?action=GetCountries";
$remote_url = $urlCountries;
$opts = array(
'http' => array(
'method' => "GET",
'header' => "Authorization: Basic ".base64_encode("$username:$password"),
'timeout' => 60
)
);
$context = stream_context_create($opts);
$file = file_get_contents($remote_url, false, $context);
print($file);
Ошибка: не удалось открыть поток: Тайм-аут соединения в
Также я это: file_get_contents(): Недопустимое значение date.timezone 'Европа/Moskow', мы выбрали часовой пояс 'UTC' на данный момент - но он может с ним работать. Или нет?
Возможно, проблема связана с HTTPS-соединением. Поддержка, где у меня есть API, дайте мне только URL-адрес, логин и пароль. И они сказали: «Вам просто нужна базовая аутентификация».
Это мой первый раз, когда я пытаюсь работать с ним, и, возможно, мне не хватает чего-то важного. Надеюсь, вы можете мне помочь.
P.S. Извините за мой английский
UPD Я пытался сделать так:
$headers = array(
'Content-Type: application/xml',
"Authorization: Basic ".base64_encode("$username:$password")
);
$process = curl_init($urlCountries);
curl_setopt($process, CURLOPT_HTTPHEADER, $headers);
curl_setopt($process, CURLOPT_HEADER, 1);
curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_POST, 1);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($process);
curl_close($process);
print_r($return);
Теперь у меня нет никаких сообщений об ошибках. Но и у меня нет никаких результатов.
Я нашел функции 'file_get_contents()' и 'stream_' ненадежными с' https'. Считаете ли вы использование [curl] (http://stackoverflow.com/questions/2140419/how-do-i-make-a-request-using-http-basic-authentication-with-php-curl)? – GentlemanMax
Я пробовал. UPD мой вопрос. Теперь у меня нет сообщений об ошибках. Но и у меня нет никаких результатов. –