Просмотр полной версии : формирование и посылка post
.::BARS::.
16.07.2009, 12:43
привет... есть такой вопросик...
есть сайт www
на этом сайте есть авторизация и юзвери... надо делать им рассылочку...
есть форма в ЛС но посылка не get а post...
возникает вопрос, как послать в заголовке пост запрос в виде сообщения....
+ передать куки для авторизации...
MuXaJIbI4
16.07.2009, 12:49
ты сам то понял чего сказал
.::BARS::.
16.07.2009, 13:34
нет блять.... я долбаеб....
не знаешь... нехер писать без надобности
Легче всё сделать курлом...
FireFenix
16.07.2009, 13:44
Читаем мануал по CURL http://ru.php.net/manual/ru/book.curl.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; //Вывод результат на экран
?>
На сокетах будет типа
$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:) и потом обратно пересылаем со следующим запросом
Легче всё сделать курлом...
Еще легче Mechanize-ом
.::BARS::.
16.07.2009, 14:34
спасибо... тема исчерпана
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot