Ежемесячные архивы: Февраль 2008

curl + cookie Как работать с куками

Пришёл мне заказ написать пхп бота обучаемого 🙂

и дали конкретный сайт с самописным форумом %)
загвоздка там была в работе с куками. долго искал как максимально упростить этот процесс. вот получилось так

function send_get($get_url,$refer)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_PROXY, “http://111.133.11.17:8080”);
curl_setopt($ch, CURLOPT_URL, $get_url);
curl_setopt($ch, CURLOPT_HEADER,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_REFERER, $refer );
curl_setopt($ch, CURLOPT_COOKIEJAR, “1.txt”);
curl_setopt($ch, CURLOPT_COOKIEFILE, “1.txt”);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, “Mozilla Firefox 3 (compatible; MSIE 6.0; LAS Linux)”);
curl_setopt($ch, CURLOPT_VERBOSE,1);
return $data = curl_exec($ch);
}

function send_post($post_url,$post_data,$refer)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_PROXY, “http://111.133.11.17:8080”);
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_HEADER,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_REFERER, $refer );
curl_setopt($ch, CURLOPT_COOKIEJAR, “1.txt”);
curl_setopt($ch, CURLOPT_COOKIEFILE, “1.txt”);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, “Mozilla Firefox 3 (compatible; MSIE 6.0; LAS Linux)”);
curl_setopt($ch, CURLOPT_VERBOSE,1);
echo $data = curl_exec($ch);
curl_close($ch);
return $type;
}

Главное:

curl_setopt($ch, CURLOPT_COOKIEJAR, “1.txt”);
curl_setopt($ch, CURLOPT_COOKIEFILE, “1.txt”);

Все куки сваливаются в файл 1.txt и отправляются благополучно в нужный момент нужной страничке

Возможные траблы:
ФАйл с кукаи создаётся в томже каталоге где работает скрипт поэтому либо в каталоге парва должны быть полные либо сами созадём файл и даём к нему права 🙂

Наброски идей

Всё в голове сложно удерживать, приходится всё больше и больше записывать чтоб не потерять. какие-то довольно узкие момен.
Вот так стукнула мне такая идея, пока не знаю как её реализовать.

Сложнейшая часть по моему мнению это “демон конфигуратор” который бы мол правильно править ВСЕ конфиги любого демона даже которого я ещё не знаю или на момент создания демона несужествало такой службы….. тоесть этот демон мог бы обучаться впритом либо внего можно вносить правила обработки конфига… далее этот демон должен умееть посылать пинок демонам которых он переконфигурировал либо о рестарте либо о рестарте без потери текущих соединений или задач %)

Шаг первый.

С того момента как стало меньше слов и больше дел. прошло не много времени, но уже есть результаты. Небольшой группой товарищей был рождён проектик www.krasbid.ru – Грасноярский городской аукцион. Который стоит на собранном нами компе p4 3000c памяти гиг патриотовской винт пока на 80,а в дальнейшем будет расширен до +500 под ещё одни очень занимательный проектик 🙂