Просмотр полной версии : Накрутчик голосов. Прокси
Здравствуйте, есть проблемы при написании накрутчика, который съедает проксифайл. Голосование находится: кошка (http://freehost.com.ua/about/cat/). Написал такое сегодня:
<?php
$filename = "proxy.csv";
$fd = fopen ("proxy.csv", "r");
while ($data = fgetcsv ($fd, 10000, ":"))
{
$proxy = "$data[0]";
$port = "$data[1]";
$host = "http://freehost.com.ua/";
$url = "http://freehost.com.ua/about/cat/";
$fp = fsockopen($proxy, $port);
fputs($fp, "GET {$url} HTTP/1.0\r\nHost: {$host}\r\n\r\n");
while(!feof($fp)){
$posts="sb=%C3%EE%EB%EE%F1%EE%E2%E0%F2%FC&cat%5B%5D=345";
$query="POST / HTTP/1.0\r\n".
"Referer: http://freehost.com.ua/about/cat/ \r\n".
"User-Agent: Opera/8.50 (Windows NT 5.1; U; ru)\r\n".
"Host: freehost.com.ua\r\n".
"Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n".
"Accept-Language: ru,en;q=0.9\r\n".
"Accept-Charset: windows-1251, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1\r\n".
"Proxy-Connection: close\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".strlen($posts)."\r\n\r\n".
$posts."\r\n\r\n";
fputs($fp, $query);
}
}
fclose($fp);
?>
Как правильно через прокси передать запрос не знаю. И запрос сомнительный.
Shadow_p1raT
07.08.2008, 06:44
Вообщем качаешь плагин к FireFox по названием Live HTTP Headers,cмотришь какие браузер посылаеи заголовки,и копируем их в скрипт.
Переменная $post будет такой:
$post="sb=%C3%EE%EB%EE%F1%EE%E2%E0%F2%FC&cat%5B%5D=345";
Думаю что всем понятно вот это непонятное слово:
%C3%EE%EB%EE%F1%EE%E2%E0%F2%FC
Переводится как:Голосовать
Вообщем качаешь плагин к FireFox по названием Live HTTP Headers,cмотришь какие браузер посылаеи заголовки,и копируем их в скрипт.
Переменная $post будет такой:
$post="sb=%C3%EE%EB%EE%F1%EE%E2%E0%F2%FC&cat%5B%5D=345";
Думаю что всем понятно вот это непонятное слово:
%C3%EE%EB%EE%F1%EE%E2%E0%F2%FC
Переводится как:Голосовать
Спасибо, исправил, замечания?
<?php
set_time_limit(0);
ob_start();
ob_implicit_flush(0);
$url = 'http://freehost.com.ua/about/cat/';
$post = 'sb=Голосовать&cat[]=345';
$file = file('proxy.txt');
$prox = explode(':', $file[0]);
$proxy = $prox['0'];
$port = $prox['1'];
$ct = curl_init();
curl_setopt($ct, CURLOPT_URL, $url);
curl_setopt($ct, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ct, CURLOPT_HEADER, 1);
curl_setopt($ct, CURLOPT_REFERER, $url);
curl_setopt($ct, CURLOPT_USERAGENT, 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0');
curl_setopt($ct, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ct, CURLOPT_PROXY, $proxy.':'.$port);
$cont = curl_exec($ct);
curl_close($ct);
$newp = str_replace($proxy.':'.$port, '', file_get_contents('proxy.txt'));
if($prf = fopen('proxy.txt', 'w+'))
{
fwrite($prf, $newp);
fclose($prf);
echo 'Меняем proxy...<br/>';
$contents = ob_get_contents () ;
ob_end_clean() ;
print $contents;
echo '<script type="text/javascript">location.href="index.php"</script>';
}
else
{
'Сменить proxy не удалось<br/>';
}
?>
Изначальный скрипт #1:
Warning: fsockopen() [function.fsockopen]: unable to connect to 222.29.46.195:8080 in /home/users/www/www.pentagon.gov/proxy.php on line 19
Warning: fputs(): supplied argument is not a valid stream resource in /home/users/www/www.pentagon.gov/proxy.php on line 20
Warning: fsockopen() [function.fsockopen]: unable to connect to 88.84.116.6:80 in /home/users/www/www.pentagon.gov/proxy.php on line 19
Warning: fputs(): supplied argument is not a valid stream resource in /home/users/www/www.pentagon.gov/proxy.php on line 20
Warning: fsockopen() [function.fsockopen]: unable to connect to 222.29.46.195:8080 in on line 19
Warning: fputs(): supplied argument is not a valid stream resource in /home/users/www/www.pentagon.gov/proxy.php on line 20 Вроде это нормально, скрипт пытается.
Curl скрипт #2:Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /home/users/www/www.pentagon.gov/proxy.php on line 2
Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in /home/users/www/www.pentagon.gov/proxy.php on line 19
Меняем proxy...
Тут какие-то проблемы.
Здраствуйте. Тоже нужно подобное , при поомщи программы взял заголовки :
GET {адрес до файла с Http://} HTTP/1.1\r\n
User-Agent:Opera/9.51 (Windows NT 5.1; U; ru)\r\n
Host:{мой ип}\r\n
Accept:text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n
Accept-Language:ru-RU,ru;q=0.9,en;q=0.8\r\n
Accept-Charset:iso-8859-1, utf-8, utf-16, *;q=0.1\r\n
Accept-Encoding:deflate, gzip, x-gzip, identity, *;q=0\r\n
Referer:http://{мой ип}\r\n
Cache-Control:no-cache\r\n
Connection:Keep-Alive, TE\r\n
TE:deflate, gzip, chunked, identity, trailers\r\n
\r\n
Соеденяюсь через fscopen.
Отпровляю все это на прямую на свой же сервер ( првоеряю) , через fputs. Ну вообщем получаю код который отправляет сервер и вижу такой ответ :
Bad Request
Your browser sent a request that this server could not understand.
Использую XAMPP.
Где грабли?
Поробовал на AppServ , все также.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot