2015-08-02 2 views
0

Я хочу прочитать некоторые фразы с внешнего сайта, протокол которого - https. Я делаю это для веб-сайтов с протоколом HTTP с помощью этого кода:чтение с внешнего https-пути по php

$homepage = file_get_contents('https://www.examlple.com/'); 
echo $homepage; 

, но он не работает для HTTPS сайтов. Затем я использовал этот один:

$fp = fsockopen("https://www.example.com/", 80, $errno, $errstr, 30); 
if (!$fp) { 
    echo "$errstr ($errno)<br />\n"; 
} else { 
    fwrite($fp, "Data sent by socket"); 
    $content = ""; 
    while (!feof($fp)) { //This looped forever 
     $content .= fread($fp, 1024); 
    } 
    fclose($fp); 
    echo $content; 
} 

, но я всегда получаю ошибку:

Unable to find the socket transport "http" - did you forget to enable it when you configured PHP? (2)

actualy Дело в том, чтобы принести статистику моего сайта с аналитикой.

ответ

0

Fsockopen не знает о «http, https». Удалите http-часть из своего домена и используйте SSL-порт для подключения.

Смотрите пример, это должно работать:

// open ssl connection - dont add "http or https!" 
$host = "ssl://" . "example.com"; 
$port = 443; 
$fp = fsockopen($host,$port); 

if (!$fp) { 
    echo "$errstr ($errno)<br />\n"; 
} else { 
    fwrite($fp, "Data sent by socket"); 
    $content = ""; 
    while (!feof($fp)) { //This looped forever 
     $content .= fread($fp, 1024); 
    } 
    fclose($fp); 
    echo $content; 
} 
+0

ошибка просто поменявшее в: Не удается найти гнездо транспорта «SSL» - Вы забыли включить его при настройке PHP? (160249520) – shekoufeh

+0

Просто раскомментируйте расширение = php_openssl.dll в php.ini и перезапустите сервер – opHASnoNAME

+0

мой сайт является локальным для теста. Я сделал это и перезапустил xampp, ничего не изменилось в результате! – shekoufeh

Смежные вопросы