Парсинг https страниц без использования cURL

Статус
В этой теме нельзя размещать новые ответы.

kip

Постоялец
Регистрация
7 Янв 2007
Сообщения
145
Реакции
15
Только что нашел способ, которого не знал... Думаю новичкам будет полезно

PHP:
    // Формируем запрос
    $hostname="ssl://domain.ru";
    $path="/index.php";
    // Вызываем функцию, которая загружает страницу
    $contents=get_content($hostname, $path);

    print $contents; // Выводим содержимое страницы.

    // Функция загружающая страницу при помощи сокетов
    function get_content($hostname, $path)0
    {
    $line="";
    // Устанавливаем соединение, имя которого передано в параметре $hostname
    $fp=fsockopen($hostname, 443, $errno, $errstr, 30);
    // Проверяем успешность установки соединения
    if (!$fp) echo "$errstr ($errno)\n";
    else
    {
    // Формируем HTTP-заголовки для передачи их серверу
    $headers="GET $path HTTP/1.1\r\n";
    $headers.="Host: $hostname\r\n";
    // Подделываем пользовательский агент, маскируясь под пользователя WindowsXP
    $headers.="User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1\r\n";
    // Подделываем реферер
    $headers.="Referer: http://".$hostname."\r\n";
    $headers.="Connection: Close\r\n\r\n";
    // Отправляем HTTP-запрос серверу
    fwrite($fp, $headers);
    // Получаем ответ
    while (!feof($fp))
    {
    $line.=fgets($fp, 1024);
    }
    fclose($fp);
    }
    return $line;
    }
    ?>
Источник:
 
cURL также как и fsockopen работает через сокеты. Только функция "завернута" в другой фантик, а под ним все тоже самое что и в fsockopen.
 
а еще ты можешь просто использовать file() и file_get_contents() если настройки php позволяют
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху