Необходимо прочитать веб-страницу https, но мой веб-сервер не поддерживает упаковщик https - PullRequest
2 голосов
/ 21 ноября 2010

Мне нужно прочитать содержимое веб-страницы с помощью php с помощью этой простой команды:

$pagina='https://graph.facebook.com/me?access_token=' . $cookie['access_token'];
$user = json_decode(file_get_contents($pagina));

Как видите, протокол https. Когда я выполняю эти команды, я всегда получаю:

[function.file-get-contents]: не удалось открыть поток:

В другом ответе в stackoverflow некоторые пользователи предлагают использовать этот код:

$w = stream_get_wrappers();
echo 'openssl: ',  extension_loaded  ('openssl') ? 'yes':'no', "\n";
echo 'http wrapper: ', in_array('http', $w) ? 'yes':'no', "\n";
echo 'https wrapper: ', in_array('https', $w) ? 'yes':'no', "\n";
echo 'wrappers: ', var_dump($w);

Чтобы узнать, есть ли на моем сервере обертка https, результат был №

Итак, есть ли идеи о том, как я могу получить эту страницу https с помощью php? может быть с CURL какой-нибудь пример кода? Большое спасибо!

1 Ответ

2 голосов
/ 21 ноября 2010

Https сайты работают с curl

<?php
$url = "https://www.google.com/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "$url");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...