формирование и посылка post

Discussion in 'PHP' started by .::BARS::., 16 Jul 2009.

  1. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    привет... есть такой вопросик...
    есть сайт www
    на этом сайте есть авторизация и юзвери... надо делать им рассылочку...
    есть форма в ЛС но посылка не get а post...
    возникает вопрос, как послать в заголовке пост запрос в виде сообщения....
    + передать куки для авторизации...
     
  2. MuXaJIbI4

    MuXaJIbI4 Member

    Joined:
    20 Nov 2008
    Messages:
    66
    Likes Received:
    7
    Reputations:
    0
    ты сам то понял чего сказал
     
  3. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    нет блять.... я долбаеб....
    не знаешь... нехер писать без надобности
     
  4. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Легче всё сделать курлом...
     
  5. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Читаем мануал по CURL http://ru.php.net/manual/ru/book.curl.php

    PHP:
    <?php 
    $curl 
    = curl_init(); //Инициализация CURL
    curl_setopt($curl, CURLOPT_HEADER, False); //Отключаем вывод заголовков в результате
    curl_setopt($curl, CURLOPT_POST, True); //Включаем использование метода POST
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, True); //Включаем вывод результата
    curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");  //Задаём используемый ююезр-агент
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, True); //Включаем обработку редиректов
    curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile.txt");  //Задаём файл для кукисов
    curl_setopt($curl, CURLOPT_COOKIEJAR, "cookiefile.txt"); //Задаём файл для кукисов

    curl_setopt($curl, CURLOPT_URL, "http://site.ru"); //Задаём сайт отправки
    curl_setopt($curl, CURLOPT_POSTFIELDS, "var1=value&var2=value&var3=value"); //Задаём текст отправки POST (переменная=значение)
    $xxx = curl_exec($curl); //Выполняем запрос

    curl_close ($curl); //Закрываем CURL
    echo $xxx; //Вывод результат на экран

    ?>
    На сокетах будет типа
    PHP:
    $postvars = array(
      
    ”var1” => “value1”,
      
    ”var2” => “value2”,
      
    ”var3” => “value3”
    ); //Массив переменных

    //Приведение массива к строке
    $postdata = “”;
    foreach ( 
    $postvars as $key => $value )
        
    $postdata .= “&”.rawurlencode($key).”=”.rawurlencode($value);
    $postdata = substr( $postdata, 1 );

    $fp = fsockopen("http://www.site.ru", 80); //Открываем сокет
    //Формируем заголовок
    $send = “”;
    $send .= “POST /accounts/ClientLogin HTTP/1.1\r\n”;
    $send .= “Host: www.google.com\r\n”;
    $send .= “Content-length: “.strlen($postdata).”\r\n”;
    $send .= “Content-type: text/plain\r\n”;
    $send .= “Connection: close\r\n”;
    $send .= “\r\n”;
    $send .= $postdata.”\r\n\r\n”;

    fputs($fp, $send); //Отправляем
    $html = fread($fp, 1000000); //Читаем
    fclose($fp); //Закрываем

    echo $html; //Выводим на экран

    //Парсим куки в заголовке (Set-Cookie:) и потом обратно пересылаем со следующим запросом
     
    #5 FireFenix, 16 Jul 2009
    Last edited: 16 Jul 2009
    1 person likes this.
  6. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    Еще легче Mechanize-ом
     
  7. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    спасибо... тема исчерпана