Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > закачка страницы через перл


Автор: Гость_lezhik 20.10.2003, 17:08
товарищи помогите :
создаю сокет, но в ответ получаю "permission denied", судя по всему фаервол не пущает
а) как найти ентот фаервол
б) как создать сокет с авторизацией через фаервол?
thumbs-up.gif

Автор: NightGoblin 20.10.2003, 21:15
А какая ОС хоть?

Автор: Secandr 21.10.2003, 07:18
А вот это не поможет?
http://vingrad.ru/download/perl/LWP-spec.pdf

Автор: lezhik 21.10.2003, 08:16
2NightGoblin: Ось - UNIX

Автор: lezhik 21.10.2003, 10:26
2Secandr: К содалению библиотке LWP тама отсутствует sad.gif(((

Автор: NightGoblin 21.10.2003, 18:33
lezhik, что конкретно ты хочешь сделать, и как создаешь порт? Код в студию smile.gif

Автор: lezhik 22.10.2003, 07:36
#!/usr/bin/perl

use Socket;

print "Content-Type: text/html\n\n";
print "<html>";
print "<title>Cyrus</title>";
print "<head>";
print "</head>";
print "<body>";

$server = "http://forum.vingrad.ru";
$port = 80;

$server_addr =(gethostbyname($server))[4];
$server_struct = pack("S n a4 x8", AF_INET, $port, $server_addr);
$proto = (getprotobyname('ftp'))[2];
socket(MYSOCK, PF_INET, SOCK_STREAM, $proto)|| print "Failed to initialize socket: $!\n";
connect(MYSOCK, $server_struct) || print "Failed to connect() to server: $!\n";

print "</body>";
print "</html>";

Автор: NightGoblin 23.10.2003, 19:50
Почему у тебя $proto так инициализируется странно?... Я делал так, все нормально работает:
Код
$PROTO = getprotobyname ('tcp');

То есть, протокол - TCP, с FTP ты потом уже сам работать будешь. И потом с какой стати FTP у тебя на 80 порту? smile.gif

И еще: на какой строке выдает Permission denied?

Автор: lezhik 24.10.2003, 07:02
инициализацию proto пробовал менять не помогает, а ftp на tcp поправить забыл, я просто в последний раз по ftp пробовал соединится после того как по tcp не вышло и там были указаны логин и пароль, не отсавлять же было, а валится Permission denied здесь:
connect(MYSOCK, $server_struct) || print "Failed to connect() to server: $!\n";

Автор: Lonely Ranger 24.10.2003, 09:55
LWP кажется поставляется в стандартной установке PERL. Должон быть.

Автор: lezhik 27.10.2003, 08:51
Нема там LWP, стоит добавить uses LWP в работающий код, как всё перестаёт работать sad.gif

Автор: Nobody 27.10.2003, 20:40
Скачай LWP со CPAN'а и брось в текущую директорию. После этого можно включать его с помощью use

Автор: lezhik 28.10.2003, 13:21
ну, закачал я libwww-perl-5.10.tar.gz.tar теперь туды нужно содержимое папки lib из архива скопить или как?

Автор: NightGoblin 30.10.2003, 03:05
я вот только не понимаю, что LWP-то даст? он точно так же через сокеты работает...

Автор: lezhik 30.10.2003, 11:37
я то ж не знаю, но раз советовали попробовать хотел, а всё таки нет ли какого скрипта для обнаружения фаервола?

Автор: NightGoblin 2.11.2003, 04:39
lezhik, хм... а систему ты сам ставил или есть какой-то загадочный сисадмин?... И вообще какой юникс - Linux, *BSD, Solaris, HP-UX, IRIX - какой именно? smile.gif Есть вариант - набрать ps -A в командной строке и посмотреть что выйдет - может, демон какой висит... А может просто в ядре что-то не так настроено...

Автор: lezhik 4.11.2003, 09:54
ставил не я, система BSD, с сисадмином лучше не связываться smile.gif

Автор: NightGoblin 4.11.2003, 10:44
lezhik, тогда вариант - сменить хост smile.gif

Автор: lezhik 5.11.2003, 13:19
хотелось бы найти другое решение, именно на этом хосте, неужели совсем ничего нельзя сделать?

Автор: NightGoblin 6.11.2003, 03:41
lezhik, ну если админ даже не дает выяснить вопрос, почему не законнектиться - другого выхода я не вижу...

Автор: lezhik 6.11.2003, 10:30
дело в том что мне нужен бесплатный хост именно по Нижнему Новгороду, а выбор не велик sad.gif

Автор: NightGoblin 7.11.2003, 00:37
lezhik, на веб-хостах вообще-то, как правило, исходящие соединения запрещаются, особенно на бесплатных. Да и на многих платных тоже.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)