1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

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

Curl

Тема в разделе "Регулярные выражения и парсеры", создана пользователем vital, 3 ноя 2010.

  1. vital

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.432
    Симпатии:
    40
    Сабж. Собственно готовый для копипасты код, с помощью которого можно залогинится на большинство ресурсов.
    PHP:
    <?php $ch curl_init("то_где_нас_логинят");

    curl_setopt($chCURLOPT_HEADER1);
    curl_setopt($chCURLOPT_NOBODY1);
    curl_setopt($chCURLOPT_USERAGENT'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)');
    curl_setopt($chCURLOPT_REFERER'откуда_мы_типа_пришли');
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($curlCURLOPT_COOKIESESSIONTRUE);

    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS'user_email=aa%40aa.aa&user_password=112233&redirect=%2F&submitted=1&ajax=false'); //Параметры которые передаются. У каждого свои.
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    $req curl_exec($ch);
    $headers explode("\n"$req); // Делаем массив из заголовоков ответа

    curl_setopt($ch,CURLOPT_URL,'то_куда_надо_зайти);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_NOBODY, 0);
    curl_setopt($ch, CURLOPT_POST, 0);

    $cookie = array();
    for ($i = 0; $i < count($headers); $i++) { //По всем его элементам
    if (strpos($headers[$i], '
    Set-Cookie:') !== FALSE) { // Если у тек-й элемент - это заголовок печенек
    $c = explode('
    ', substr($headers[$i], strlen('Set-Cookie:'))); // Обрезаем строку сет-куки и разбиваем в массив, разделитель не пробел, а "; " потому что в строке кук Expires тоже есть пробелы. И получается кривое разбиение.
    foreach ($c as $k=>$v) // По всем элементам получившегося массива
    {
    if (!empty($v) && ( // Если текущий элемент не пустой, и не один их не нужных заголовков, то добавляем его в массив с куками
    !strstr($v, '
    source') &&
    !strstr($v, '
    path') &&
    !strstr($v, '
    domain') &&
    !strstr($v, '
    expires'))) $cookie[]=$v;
    }

    }
    }
    curl_setopt($ch, CURLOPT_COOKIE, implode('
    ;',$cookie)); // Из массива снова делаем строку..
    $html=curl_exec($ch); //Тут мы залогинены.
    curl_close($ch);?>
     
Загрузка...
Похожие Темы - Curl
  1. hitesh
    Ответов:
    6
    Просмотров:
    518
  2. sasha465
    Ответов:
    0
    Просмотров:
    3.693
  3. VadikV
    Ответов:
    4
    Просмотров:
    4.520
  4. admin
    Ответов:
    1
    Просмотров:
    4.807

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