Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
проблеми с установкой модулей |

12.11.2008, 20:55
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
проблеми с установкой модулей
привет
нашол пример для роботи через прокси:
Код:
system('cls');
use IO::Socket::Socks;
my $proxy_addr = "128.10.10.15";
my $proxy_port = 3128;
my $conn_addr = "http://www.mail.ru/";
my $conn_port = 80;
my $socks = new IO::Socket::Socks(ProxyAddr=>$proxy_addr,
ProxyPort=>$proxy_port,
ConnectAddr=>$conn_addr,
ConnectPort=>$conn_port,
) or die "Can't create Sock: $!";
print $sock "GET ",$conn_addr," HTTP/1.0\n\n";
while($line = <$sock>) {
print $line;
}
$socks->close()
запускаю,.. пишет
Can't locate IO/Socket/Socks.pm in @INC (@INC contains: C:/Perl/lib C:/Perl/site
/lib .) at D:\pr0gramm1n9\perl\my\proxy\_proxy.pl line 3.
BEGIN failed--compilation aborted at D:\pr0gramm1n9\perl\my\proxy\_proxy.pl line
3.
, я так понял что модуль IO::Socket не установлен..
запускаю ppm.bat
ввожу install IO::Socket
и опять ошибка!
что делать?
|
|
|

12.11.2008, 21:00
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
О!
установил вроде..) скачал новий перл и установил..
ppm.bat:
проверка IO::Socket:
Verifying IO-Socket-Socks ...
3 files verified
как я понямаю, я устанил...
запускаю скрипт с надеждой, и ..... пля! опять ошибка:
Can't locate IO/Socket/Socks.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl
/lib .) at D:\pr0gramm1n9\perl\my\proxy\_proxy.pl line 3.
BEGIN failed--compilation aborted at D:\pr0gramm1n9\perl\my\proxy\_proxy.pl line
3.
что такое?
================================
переделал скрипт
Код:
system('cls');
print '1';
use IO::Socket::Socks;
print '1';
my $proxy_addr = "128.10.10.15";print '1';
my $proxy_port = 3128;print '1';
my $conn_addr = "http://www.mail.ru/";print '1';
my $conn_port = 80;print '1';
my $socks = new IO::Socket::Socks(ProxyAddr=>$proxy_addr,
ProxyPort=>$proxy_port,
ConnectAddr=>$conn_addr,
ConnectPort=>$conn_port,
) or die "Can't create Sock: $!";
print '1';
print $sock "GET ",$conn_addr," HTTP/1.0\n\n";
print '1';
while($line = <$sock>) {
print '1';
print $line;
print '1';
}
$socks->close();
print '1';
теперь ошибка:
Can't create Sock: Unknown error at D:\pr0gramm1n9\perl\my\proxy\_proxy.pl line
10.
111111
что я не так делаю?
Последний раз редактировалось eLWAux; 12.11.2008 в 21:29..
|
|
|

12.11.2008, 23:26
|
|
Участник форума
Регистрация: 05.11.2008
Сообщений: 105
Провел на форуме: 292722
Репутация:
71
|
|
тебе надо установить модуль IO::Socket::Socks
Какой perl ты пользуешь? Может так получить, что ты установил необходимый модуль (кстате в ActiveState он установлен, если по нему есть документация), но запускаешь с помощью другого perl (который прописан в системной переменной). Попробуй запустить скрипт указав полный путь к perl.exe. И вообще ActivePerl лучше всего ставить в корень!
Я когда разюирался с модулем IO::Socket::Socks столкнулся с проблемой другого плана! Он отказался работать с обычной проксей! Только для Socks 5
|
|
|

12.11.2008, 23:31
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
тебе надо установить модуль IO::Socket::Socks
Какой perl ты пользуешь? Может так получить, что ты установил необходимый модуль (кстате в ActiveState он установлен, если по нему есть документация), но запускаешь с помощью другого perl (который прописан в системной переменной). Попробуй запустить скрипт указав полный путь к perl.exe. И вообще ActivePerl лучше всего ставить в корень!
Я когда разюирался с модулем IO::Socket::Socks столкнулся с проблемой другого плана! Он отказался работать с обычной проксей! Только для Socks 5
5.10.0 использую
перл у меня стоит в : c:/perl/ ,тоесть в корне
просто у меня привязка к файлам *.pl стоит на запуск c:/perl/bin/perl.exe, тоесть скрипти норм запускаютса..
вот вроде я модуль установил.., только запускаю и пишет ошибка сооденения с чем то..
(не с прокси и не с сайтом)
|
|
|

13.11.2008, 11:29
|
|
Участник форума
Регистрация: 05.11.2008
Сообщений: 105
Провел на форуме: 292722
Репутация:
71
|
|
Кстате, знакомый скрипт. :-) Кажется я знаю где ты его взял! Но он у меня так и не заработал. :-( я там написал, что переделать его надо.
И еще: попробуй запустить: perl -e "use IO::Socket::Socks"; из комендной строки.
Если выдаст ошибку, значит модуль не установлен! А пока он у тебя на его вызов и ругается!
Ты, кстате, в начале скрипта use пишешь?
|
|
|

13.11.2008, 19:53
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
C:\Perl\bin>perl.exe -e "use IO::Socket::Socks";
C:\Perl\bin>
запускаю скрипт
Код:
system('cls');
$num = 0;
sub p {$num++; print $num;}
use IO::Socket::Socks;
p;
my $proxy_addr = "75.69.203.194";
p;
my $proxy_port = 15689;
p;
my $conn_addr = "http://www.mail.ru/";
p;
my $conn_port = 80;
p;
my $socks = new IO::Socket::Socks(ProxyAddr=>$proxy_addr,
ProxyPort=>$proxy_port,
ConnectAddr=>$conn_addr,
ConnectPort=>$conn_port,
) or die "Can't create Sock: $!";
p;
print $sock "GET ",$conn_addr," HTTP/1.0\n\n";
p;
while($line = <$sock>) {
print $line;http://forum.antichat.ru/thread91556.html
p;
}
$socks->close();
p;
(прокси взял из сайта http://www.checker.freeproxy.ru/checker/last_checked_proxies.php для Socks5)
результат виполнения:
Can't create Sock: at D:\pr0gramm1n9\perl\my\proxy\_proxy.pl line 17.
12345
|
|
|

13.11.2008, 22:29
|
|
Участник форума
Регистрация: 05.11.2008
Сообщений: 105
Провел на форуме: 292722
Репутация:
71
|
|
Все дело в том, что по адресу 75.69.203.194:15689 обычный прокси сервер, а не Socks 5. IO-Socket-Socks только для socks 5.
Вот рабочий пример кода для работы с обычной проксей:
Код:
use IO::Socket;
use IO::Socket::INET;
my $conn_addr = "http://www.mail.ru/";
my $sock = IO::Socket::INET->new(PeerAddr => '75.69.203.194',
PeerPort => 'http(15689)',
Proto => 'tcp') or die "Can't create Socks: $!";
print $sock "GET ",$conn_addr," HTTP/1.0\n\n";
while($line = <$sock>) {
print $line;
}
Проверял. Все работает.
|
|
|

14.11.2008, 00:04
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
мдее..
что со мною..
Код:
use IO::Socket;
use IO::Socket::INET;
sub saveFile
{
open(myFILE,">$_[0]") || die "error: $!";
print myFILE $_[1];
close(myFILE);
}
my $conn_addr = "http://www.mail.ru/";
my $sock = IO::Socket::INET->new(PeerAddr => '75.69.203.194',
PeerPort => 'http(15689)',
Proto => 'tcp') or die "Can't create Socks: $!";
print $sock "GET ",$conn_addr," HTTP/1.0\n\n";
$answ='';
while($line = <$sock>) {
$answ.=$line;
}
saveFile('result.html',$answ);
результат:
Can't create Socks: Unknown error at pr2.pl line 13
.
думал.., может прокси дохлий? полошол опять на http://www.checker.freeproxy.ru/checker/last_checked_proxies.php все перепробивал - результат один и тот же((
|
|
|

14.11.2008, 10:23
|
|
Участник форума
Регистрация: 05.11.2008
Сообщений: 105
Провел на форуме: 292722
Репутация:
71
|
|
попробуй изменить 14-ю строчку на PeerPort => '15689',
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|