Пришёл мне заказ написать пхп бота обучаемого 🙂
и дали конкретный сайт с самописным форумом %)
загвоздка там была в работе с куками. долго искал как максимально упростить этот процесс. вот получилось так
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 и отправляются благополучно в нужный момент нужной страничке
Возможные траблы:
ФАйл с кукаи создаётся в томже каталоге где работает скрипт поэтому либо в каталоге парва должны быть полные либо сами созадём файл и даём к нему права 🙂
А для curl_setopt
($ch, CURLOPT_COOKIEJAR, “1.txt”);
curl_setopt($ch, CURLOPT_COOKIEFILE, “1.txt”);
вот именно для 1.txt fopen();
надо делать, а то как они туда запишутся?
Ответь пожалуйста))) Исвяжись со мной по мыло kubig.blogspotсобакаgmail.com
Не понял, что хотите сделать?
все куки валятся в этот файл в формате мозиллы, пользовался
Я имею в виду что надо пользоваться функцией fopen(); для записи куков в файл или это всё само туда пишется?
всё Само туда пишется, главное чтоб файл был пустой (хотя не помню, может и не надо.) в общем права были либо на создание файла в папке либо файл с правами на запись.
Спасибо! Помог!
Проблема с кукисами всё-таки была при попытке использования переменной в качестве имени файла, в моём случае решилась преобразованием в строковой тип данных функцией trim($str)
Спасибо, статья помогла,давненько искал как сделать что бы курл куки записывал в файл, 😀 хотя искать то особо нечего =).
От куда “1.txt”?
А CURLOPT_VERBOSE для чего?