Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

SSL: fatal protocol error

14K
28 октября 2007 года
Snk
54 / / 22.03.2007
Код:
<?php
$headers = "GET...";
$fp = fsockopen("ssl://айпи",443);
fputs($fp,$headers);
   
    while (!feof($fp)) {
 
        echo  fread($fp,1024);

    }

fclose($fp);
?>


Почти все выдает. На последних байтах подвисает секунд на ~30, потом выдает вместе с этой ошибкой. Накопал только, что иис не правильно закрывает ссл соединения и из за этого пхп кидает такую ошибку. У меня апач. Не могу понять в чем проблема. Помогите пожалуйста. Заранее спасибо.
251
28 октября 2007 года
SkyMаn
1.7K / / 31.07.2007
Да, есть такой баг, чтобы побороть его рекомендуется воспользоваться таким переходничком:
Код:
<?php
 
    function isOnline($url) {
        if (!$url_info = parse_url($url)) {
            return false;    
        }
 
        switch ($url_info['scheme']) {
            case 'https':
                $scheme = 'ssl://';
                $port = 443;
                break;
            case 'http':
            default:
                $scheme = '';
                $port = 80;    
        }
 
        $data = "";
        $fid = @fsockopen($scheme . $url_info['host'], $port, $errno, $errstr, 30);
        if ($fid) {
            fputs($fid, 'HEAD ' . (isset($url_info['path'])? $url_info['path']: '/') . (isset($url_info['query'])? '?' . $url_info['query']: '') . " HTTP/1.0\r\n" .
                        "Connection: close\r\n" .
                        'Host: ' . $url_info['host'] . "\r\n\r\n");    
            while (!feof($fid)) {
                $data .= @fgets($fid, 128);
            }
            fclose($fid);
            return !empty($data);
        } else {
            return false;
        }
    }

Как сказано по ссылке выше, это сделано для того, чтобы проверить, что есть нужный нам УРЛ, [FONT=Courier New](вместе с http и https), используя @fgets чтобы избежать появления мессагов об ошибке, когда юзаем SSL. [/FONT]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог