Выход через proxy

Тема в разделе "PHP", создана пользователем dazed, 17 июн 2008.

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

    dazed

    Регистр.:
    31 мар 2007
    Сообщения:
    208
    Симпатии:
    55
    Если для того чтобы обратиться в интернет необходимо пройти аутентификацию на прокси сервере, как это реализовать в скрипте?
     
  2. masto

    masto Прохожие

    вот тебе вариант из рабочего скрипта
    PHP:
    <?

        
    $fp fsockopen('proxy.lan'8080$errno$errstr5);
            
            if( !
    $fp )
                exit(
    'нет связи с прокси-сервером');
                        
            
    $tmp[] = $data '';
            
            if (!
    $fp)
                echo 
    $errstr ' (' $errno ")<br />\n";
            else
            {
                
    fputs($fp"CONNECT ripn.net:43 HTTP/1.0\r\n");
                
    fputs($fp'Proxy-Authorization: Basic ' base64_encode('login:password') . "\r\n\r\n");
                
                while(!
    feof($fp))
                    if( 
    trim(fgets($fp)) == 'HTTP/1.0 200 Connection established' )
                    {
                        
    fputs($fp"bla-bla.su\r\n");
                        break;
                    }

                while(!
    feof($fp))
                    
    $data .= $tmp[] = trim(fgets($fp))."\n";
            }
            
        
    fclose($fp);
        
        echo 
    $data;

    ?>
     
  3. Unkn0wn404

    Unkn0wn404 Писатель

    Регистр.:
    12 июн 2008
    Сообщения:
    6
    Симпатии:
    1
    А лучше и красивее юзать КУРЛ
     
  4. netwom

    netwom Создатель

    Регистр.:
    14 июн 2008
    Сообщения:
    27
    Симпатии:
    2
    Да уж... Если хочется побольше строк кода, то можно и через сокеты это все сделать.
    Хотя в этом есть и свои плюсы. С помощью н****кируемых сокетов можно добиться какого-то подобия многопоточности.
     
  5. Zhes

    Zhes Писатель

    Регистр.:
    15 июн 2008
    Сообщения:
    2
    Симпатии:
    0
    Самый простой, на мой взгляд, способ - использовать класс Snoopy. Найти его можно на sourceforge, либо "нагуглить".
     
Статус темы:
Закрыта.