1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

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

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

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

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

Curl

Тема в разделе "Web - программирование", создана пользователем DNTS, 19 янв 2011.

  1. DNTS

    DNTS Гость

    Репутация:
    0
    Здравствуйте, вот какая проблема - нужно с помощью curl авторизироваться на сайте и отправить сообщение в чат(онлайн-игра). Нашел 2 функции:
    PHP:
    function get_web_page$url )
    {
    $uagent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";

    $ch curl_init$url );
    curl_setopt($chCURLOPT_URL$url);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);  // возвращает веб-страницу
    curl_setopt($chCURLOPT_HEADER0);          // не возвращает заголовки
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);  // переходит по редиректам
    curl_setopt($chCURLOPT_ENCODING"");        // обрабатывает все кодировки
    curl_setopt($chCURLOPT_USERAGENT$uagent); // useragent
    curl_setopt($chCURLOPT_CONNECTTIMEOUT120); // таймаут соединения
    curl_setopt($chCURLOPT_TIMEOUT120);        // таймаут ответа
    curl_setopt($chCURLOPT_MAXREDIRS10);      // останавливаться после 10-ого редиректа
    curl_setopt($chCURLOPT_COOKIEJAR"coo.txt");
    curl_setopt($chCURLOPT_COOKIEFILE,"coo.txt");

    $content curl_exec$ch );
    $err     curl_errno$ch );
    $errmsg curl_error$ch );
    $header curl_getinfo$ch );
    curl_close$ch );

    $header['errno']  = $err;
    $header['errmsg'] = $errmsg;
    $header['content'] = $content;
    return 
    $header;
    }

    function 
    post_content ($url,$postdata) {
    $uagent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";

    $ch curl_init$url );
    curl_setopt($chCURLOPT_URL$url);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_HEADER0);
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    curl_setopt($chCURLOPT_ENCODING"");
    curl_setopt($chCURLOPT_USERAGENT$uagent); // useragent
    curl_setopt($chCURLOPT_TIMEOUT120);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS$postdata);
    curl_setopt($chCURLOPT_COOKIEJAR"coo.txt");
    curl_setopt($chCURLOPT_COOKIEFILE,"coo.txt");

    $content curl_exec$ch );
    $err     curl_errno$ch );
    $errmsg curl_error$ch );
    $header curl_getinfo$ch );
    curl_close$ch );

    $header['errno']  = $err;
    $header['errmsg'] = $errmsg;
    $header['content'] = $content;
    return 
    $header;
    }

    $url 'http://capitalcity.oldbk.com/enter.php';
    $username 'Левчик';
    $userpass '*******';
    // формируем строку с данными
    $postdata 'login='.$username.'&psw='.$userpass;

    $result post_content$url$postdata );
    $html $result['content'];

    // загружаем любую другую страницу. Пользователь, под логином которого вошли, должен сохраниться
    $url 'http://capitalcity.oldbk.com/main.php';
    // $url = "http://capitalcity.oldbk.com/ch.php?color=000000&sys=&om=&lid=&text=private [Мергахеф] gh";
    $result get_web_page$url );
    $html $result['content'];

    $pos StrPos($html,"Левчик");
    if ( 
    $pos === false ) { 
    echo 
    'Авторизация провалилась';

    else {
    $msg "private [Мергахеф] gh";
    echo 
    'Авторизация прошла успешно';echo "<img src='http://capitalcity.oldbk.com/ch.php?color=000000&sys=&om=&lid=&text=".$msg."' width=0 height=0 border=0>";
    }
    ?>
    если заходить на $url = 'http://capitalcity.oldbk.com/main.php'; после авторизации и вывести контент - то все работает, но если пойти на $url = "http://capitalcity.oldbk.com/ch.php?color=000000&sys=&om=&lid=&text=private [Мергахеф] gh"; - для отправки сообщения при отображении контента пишет 400 Bad Request, также пробуя через вставку картинки echo "<img src='http://capitalcity.oldbk.com/ch.php?color=000000&sys=&om=&lid=&text=".$msg."' width=0 height=0 border=0>"; - также не дает результат.
    Заранее благодарен.
     
  2. codebyner

    codebyner Гость

    Репутация:
    0
Загрузка...
Похожие Темы - Curl
  1. hitesh
    Ответов:
    6
    Просмотров:
    470
  2. sasha465
    Ответов:
    0
    Просмотров:
    3.684
  3. VadikV
    Ответов:
    4
    Просмотров:
    4.493
  4. vital
    Ответов:
    0
    Просмотров:
    2.066
  5. admin
    Ответов:
    1
    Просмотров:
    4.801

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