![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Spieler |
|
|||
|
Unregistered |
Послушайте, можно ли написать присоединение к HTTP серверу, не пользуясь всякими дополнительными модулями типа UserAgent? А то мне это нельзя... 8(
|
|||
|
||||
| Семён Розовых |
|
|||
|
Unregistered |
Конечно можно. Для этого надо всего лишь использовать модуль IO::Socket. Он входит в стандартную подставку Perl. Короче это делается так.
use IO::Socket; $host=www.dwcgr0up.com; $port=80; #Нам же надо по http #Создаем новое соединение: $socket = IO::Socket::INET->new(PeerAddr => $host, PeerPort => $port, Proto => "TCP") or die print "connection failed to $host:$port\n"; print $socket "GET http://www.dwcgr0up.com/index.php" HTTP/1.1\n"; #Метод, запрашиваемя страница и версия протокола. # Дальше и так всё понятно. Если нет, то почитай о протоколе HTTP. print $socket "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, */*\n"; print $socket "Accept-Language: ru\n"; print $socket "Content-Type: application/x-www-form-urlencoded\n"; print $socket "Accept-Encoding: gzip, deflate\n"; print $socket "User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)\n"; print $socket "Host: $host\n"; print $socket "Connection: Keep-Alive\n"; print $socket "Connection: close\n\n"; |
|||
|
||||
| NightGoblin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1021 Регистрация: 24.11.2002 Где: 127.0.0.1 Репутация: нет Всего: 11 |
Можно обойтись и без объектного интерфейса. Вот простенькая прога, распечатывающая страничку с хоста, URL которой задан в командной строке (по умолчанию localhost/index.html):
Уж Socket должен быть в любом дистрибутиве, даже на бесплатном хостинге -------------------- Kernel panic: /dev/null overflow! GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y? B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981 |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
А для использования любого модуля достаточно взять его на http://perl.com/CPAN/ бросить в папку со скриптом, а в теле скрипта прописать reqire Filename.pm
|
|||
|
||||
| Nekto |
|
|||
|
Unregistered |
Вообще-то, народ, сокеты многими сайтами обрубаются, т.е. вам не будет разрешать к ним подконектится. Это не есть хорошо. Есть иной выход, причем весьма неплохой - LWP.
Этот модуль позволяет стукаться к сайтам, смотреть инфу, брать контент (картинки не всчет), причем конектится он может и черех прокси и как угодно, хоть прикинувшись браузером. Кроме того, он позволяет играться HTTP заголовком. И разумеется, входящими в него кукями Взять можно со СПАНА |
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |