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

Тема в разделе "PHP", создана пользователем kip, 3 авг 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. kip

    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($hostname443$errno$errstr30);
        
    // Проверяем успешность установки соединения
        
    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($fp1024);
        }
        
    fclose($fp);
        }
        return 
    $line;
        }
        
    ?>
    Источник:
    http://banalseo.com/parsing-https-stranic/
     
  2. grey109

    grey109

    Регистр.:
    3 апр 2007
    Сообщения:
    176
    Симпатии:
    19
    cURL также как и fsockopen работает через сокеты. Только функция "завернута" в другой фантик, а под ним все тоже самое что и в fsockopen.
     
  3. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    а еще ты можешь просто использовать file() и file_get_contents() если настройки php позволяют
     
Статус темы:
Закрыта.