Здравствуйте, есть проблемы при написании накрутчика, который съедает проксифайл. Голосование находится: кошка. Написал такое сегодня: PHP: <?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); ?> Как правильно через прокси передать запрос не знаю. И запрос сомнительный.
Вообщем качаешь плагин к FireFox по названием Live HTTP Headers,cмотришь какие браузер посылаеи заголовки,и копируем их в скрипт. Переменная $post будет такой: PHP: $post="sb=%C3%EE%EB%EE%F1%EE%E2%E0%F2%FC&cat%5B%5D=345"; Думаю что всем понятно вот это непонятное слово: Code: %C3%EE%EB%EE%F1%EE%E2%E0%F2%FC Переводится как:Голосовать
PHP: <?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 PHP: 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: PHP: 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. Ну вообщем получаю код который отправляет сервер и вижу такой ответ : Использую XAMPP. Где грабли? Поробовал на AppServ , все также.