ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 02.07.2008, 15:20
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Код:
open my $FILE, '<', clients.txt or die "Open error: $!\n";
my @f = <$FILE>;
close $FILE;
foreach $name(@f) {...}
или
Код:
open my $FILE, '<', clients.txt or die "Open error: $!\n";
while (<$FILE>) {...}
close $FILE;
без разницы, как хочешь. Второй вариант предпочтительнее

Последний раз редактировалось krypt3r; 02.07.2008 в 15:29..
 

  #2  
Старый 02.07.2008, 16:03
svesve
Постоянный
Регистрация: 15.06.2007
Сообщений: 527
Провел на форуме:
1734541

Репутация: 214


По умолчанию

Спс за помощь появилась еще одна поблема теперь скрипт сохраняет инфу в файл не в той кодировке (

и еще надо както обрезать первые 9 строк чтоб не выводились ))

Последний раз редактировалось svesve; 02.07.2008 в 16:11..
 

  #3  
Старый 02.07.2008, 16:47
svesve
Постоянный
Регистрация: 15.06.2007
Сообщений: 527
Провел на форуме:
1734541

Репутация: 214


По умолчанию

Написал скриптик который из файла коиентов выводит по ним стату
но не пойму как убрать эти строки из файла в который выводится.

HTTP/1.1 200 OK
Connection: close
Date: Wed, 02 Jul 2008 12:42:54 GMT
Server: Apache
Content-Type: text/plain; charset=KOI8-R
Client-Date: Wed, 02 Jul 2008 12:39:06 GMT
Client-Peer: 217.119.16.91:80
Client-Response-Num: 1
Client-Transfer-Encoding: chunked

как от нх извабиться? и можно ли сменить кодировку когда выводим в файл?

вот скрипт

#!/usr/bin/perl
use strict;
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
open my $FILE, '<', 'clients.txt' or die "Open error: $!\n";
my @f = <$FILE>;
chomp @f;
close $FILE;
foreach my $name(@f) {
my $req = $ua->get("http://site/cgi-bin/trstat.pl?code=$name&month=2008-06")->as_string;
open OUT, '>',$name.'.txt';
print OUT $req;
close OUT;
}

Последний раз редактировалось svesve; 02.07.2008 в 16:56..
 

  #4  
Старый 02.07.2008, 17:01
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Насчет кодировки
use Encode qw/encode decode/;
потом
print FILE decode('KOI8-R',$req);

А чтобы вытаскивать только то что тебе нужно используй регулярки
 

  #5  
Старый 02.07.2008, 20:41
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме:
5128756

Репутация: 2032


Отправить сообщение для Piflit с помощью ICQ
По умолчанию

content вместо as_string. в чужих скриптах такого не было?
 

  #6  
Старый 03.07.2008, 07:25
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

svesve, попробуй без хедеров так:
Код:
#!/usr/bin/perl
use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Request;

my $ua = LWP::UserAgent->new;
open my $FILE, '<', 'clients.txt' or die "Open error: $!\n";
my @f = <$FILE>;
chomp @f;
close $FILE;
my ($req, $res, $content, $OUT);
my $url = 'http://site/cgi-bin/trstat.pl';
foreach my $name(@f) {
  $req = HTTP::Request->new (GET => $url . "?code=$name&month=2008-06");
  $req->content_type ('text/html');
  $res = $ua->request ($req);
  die "Can't get url $url: " . $res->status_line . "\n" unless $res->is_success;
  $content = $res->content;
  # тут, если нужно, производится парсинг полученного результата
  open $OUT, '>', $name . '.txt';
  print $OUT $content;
  close $OUT;
}

Последний раз редактировалось krypt3r; 03.07.2008 в 10:11..
 

  #7  
Старый 03.07.2008, 09:15
svesve
Постоянный
Регистрация: 15.06.2007
Сообщений: 527
Провел на форуме:
1734541

Репутация: 214


По умолчанию

Спасибо за помощь! но так скрипт не работает ))
 

  #8  
Старый 03.07.2008, 10:10
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

svesve, я поправил пост, смотри код
 

  #9  
Старый 03.07.2008, 10:45
svesve
Постоянный
Регистрация: 15.06.2007
Сообщений: 527
Провел на форуме:
1734541

Репутация: 214


По умолчанию

во теперь робит все ) спс
единственно когда кодировку в коцне перевожу ругается на что то(Wide character in print at test.pl line 24.) но это фигня главное работает ))
 

  #10  
Старый 03.07.2008, 12:50
svesve
Постоянный
Регистрация: 15.06.2007
Сообщений: 527
Провел на форуме:
1734541

Репутация: 214


По умолчанию

Теперь такой вопрос я хочу передать через форму параметр скрипту тобишь чтоб каждый раз не лазить менять date хотелось бы его передать через форму
подскажите как будет это выглядеть?
Цитата:
#!/usr/bin/perl
use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Request;
use Encode qw/encode decode/;

my $ua = LWP::UserAgent->new;
open my $FILE, '<', 'clients.txt' or die "Open error: $!\n";
my @f = <$FILE>;
chomp @f;
close $FILE;
my ($req, $res, $content, $OUT);
my $url = 'http://site/cgi-bin/trstat.pl';
my $date= 123;# задаем тут дату
foreach my $name(@f) {
$req = HTTP::Request->new (GET => $url . "?code=$name&month=$date");
$req->content_type ('text/html');
$res = $ua->request ($req);
die "Can't get url $url: " . $res->status_line . "\n" unless $res->is_success;
$content = $res->content;
open $OUT, '>', $name . '.txt';
print $OUT decode('KOI8-U',$content);
close $OUT;
}

Последний раз редактировалось svesve; 03.07.2008 в 16:51..
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ