Пришёл мне заказ написать пхп бота обучаемого 🙂
и дали конкретный сайт с самописным форумом %)
загвоздка там была в работе с куками. долго искал как максимально упростить этот процесс. вот получилось так
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 и отправляются благополучно в нужный момент нужной страничке
Возможные траблы:
ФАйл с кукаи создаётся в томже каталоге где работает скрипт поэтому либо в каталоге парва должны быть полные либо сами созадём файл и даём к нему права 🙂