1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Socket

Тема в разделе "Web - программирование", создана пользователем nws, 15 июл 2008.

  1. nws

    nws Гость

    Репутация:
    0
    Добрый день!
    Есть форма в ней 2 поля: username/password
    Мне необходимо пройти авторизацию с другого сервера
    Вот функция:

    Код:
    function bot($server, $port, $path, $second)
    
    {
    
    
    $write = '';
    
    $fp = fsockopen($server, $port, $errno, $errstr, $second);
    
    if ($fp)
    
    {
    
    $write .= 'POST $path HTTP/1.0\r\n';
    
    $write .= 'Host: $server\r\n\r\n';
    $write .= 'username = vasea';
    $write .= 'password =123456';
    
    
    
    fwrite($fp, $write);
    
    fclose($fp);
    
    }else{
    echo 'BORODA';	
    }
    
    }
    Почему это:
    Код:
    $write .= 'username = vasea';
    $write .= 'password =123456';
    не передается в форму?
     
  2. nws

    nws Гость

    Репутация:
    0
    Код:
    function bot($server, $port, $path, $second)
    
    {
    
    
    $write = '';
    $read = '';
    
    $fp = fsockopen($server, $port, $errno, $errstr, $second);
    
    if ($fp)
    
    {
    $params = "username=".urlencode("vasea")."&password=".urlencode("123456")."\r\n\r\n";
    $size = strlen($params);
    
    $write .= "POST $path HTTP/1.0\r\n";
    
    $write .= "Host: $server\r\n";
    $write .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $write .= "Cookie: lang=russian;\r\n";
    $write .= "User-Agent: Vasea\r\n";
    $write .= "Content-Length: $size\r\n";
    $write .= "Connection: Close\r\n\r\n";
    $write .= $params;
    
    echo '<pre>';
    echo $write;
    
    
    fwrite($fp, $write);
    
    while (!feof($fp)) {
    $read .= fgets($fp, 8192);
    }
    
    
    for ($i = 5; $i < strlen($read); $i++)
    
    {
    
    if (substr($read, $i - 3, 4) == "\r\n\r\n")
    
    {
    
    $read = substr($read, $i + 1);
    
    $i = strlen($read);
    
    }
    
    }
    
    fclose($fp);
    
    }
    
    else
    
    {
    
    $read = "";
    
    }
    
    
    
    return $read;
    
    
    }
     
  3. lazutov

    lazutov Гость

    Репутация:
    0
    1) параmетры должны передаватся в заголовке POST

    Код:
    <?
    $host="host.ru";
    $addr="/index.php"; //форма
    $useragent="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:3.0.0.1)"; 
    $login=""; 
    $password="";
    $data="UserName=$login&PassWord=$password";
    $request=
    "POST $addr HTTP/1.1\r\n".
    "Accept: */*\r\n".
    "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n".
    "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n".
    "Accept-Encoding: gzip,deflate\r\n".
    "User-Agent: $useragent\r\n".
    "Host: $host\r\n".
    "Content-Type: application/x-www-form-urlencoded\r\n".
    "Content-Length: ".strlen($data)."\r\n".
    "Connection: Close\r\n\r\n$data";
    
    // послать и получить ответ ,полагаю, сами сможете. 
    ?>

    Вариант 2 , что красивее и удобнее

    Код:
    $url = "http://www.site.ru/form.php";
    $login = ''; 
    $password = '';
    $ch = curl_init(); // открыли курл
    curl_setopt($ch, CURLOPT_URL,$url); // куда посылаем 
    curl_setopt($ch, CURLOPT_HEADER, 0); // нам НЕ нужны заголовки
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // резалт помащать в переменную, а не выводить 
    curl_setopt($ch, CURLOPT_TIMEOUT, 3); // макс время одидания 
    curl_setopt($ch, CURLOPT_POST, 1); // POST будет использоваться
    curl_setopt($ch, CURLOPT_POSTFIELDS, "UserName=$login&PassWord=$password1"); // сами значения
    $result = curl_exec($ch); // запустим запрос 
    curl_close($ch); // закрыли курл 
    //страница загружена в $result
     
Загрузка...
Похожие Темы - Socket
  1. GrabbeR
    Ответов:
    1
    Просмотров:
    1.617
  2. Helplamer
    Ответов:
    1
    Просмотров:
    1.435
  3. NickProstoNick
    Ответов:
    2
    Просмотров:
    1.738
  4. Radion2

    Websocket ?

    Radion2, 23 фев 2013, в разделе: Java
    Ответов:
    0
    Просмотров:
    1.457
  5. Marchelo2012
    Ответов:
    1
    Просмотров:
    3.307

Поделиться этой страницей