Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с сокетами 
:(
    Опции темы
kokaine
Дата 27.12.2005, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 27.12.2005

Репутация: 1
Всего: 1



короче.. скрипт должен соедниться с адерсом(http://value.ru/script.php) и выдрать всю страничку от туда
но не фига не хочет! ругается на этот адрес страшно и посылает куда то далеко
а вот на адрес типа localhost и коннектицца и все делает как нуна...
PM MAIL   Вверх
korob2001
Дата 27.12.2005, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



kokaine - а код посмотреть можно? Ошибку трудно найти с помощью телепатии. smile

Это сообщение отредактировал(а) korob2001 - 27.12.2005, 21:30


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
sharq
Дата 28.12.2005, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 23
Всего: 28



kokaine без кода и конкретной ошибки трудно что либо сказать.
Так что ждем уточнений. smile

Ты используешь модуль Socket или LWP?

smile

Это сообщение отредактировал(а) sharq - 28.12.2005, 11:33


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
kokaine
Дата 28.12.2005, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 27.12.2005

Репутация: 1
Всего: 1



использую Socket
сча будет код ..

Код

#!/usr/bin/perl

$www = "localhost";
$ia;
$paddr;
$port = 80;

use Socket;

socket(sock,PF_INET,SOCK_STREAM,getprotobyname('tcp'));
$ia = inet_aton($www);
$paddr = sockaddr_in($port,$ia);
connect(sock,$paddr);
send(sock,"GET / HTTP/1.0\n\n",0);
@data = <sock>;
close(sock);


вот так все работает нормально
а вот если поменять строчку
$www на какой нить другой адрес со всякими слэшами, двоеточаями етц, работать отказывается!
ругается вот так:
Bad arg leght for socket::pack_sockaddr_in, lenght is 0, should be 4 at (linux: /usr/perl5/5.8.3/i386-linux-thread-mulit/Socket.pm) (windows: C:/usr/lib/Socket.pm) ...

Это сообщение отредактировал(а) kokaine - 28.12.2005, 11:41
PM MAIL   Вверх
sharq
Дата 28.12.2005, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 23
Всего: 28



kokaine

с модулем Socket
Код

use strict;
use Socket;

my $host = 'mail.ru';
my $port = 80;
my $path = '/'; # path (example: /~login/)

socket(SOCK,PF_INET,SOCK_STREAM,getprotobyname('tcp'))||die("Bolt: $!");

my $iaddr = inet_aton($host); #binary set $host
my $paddr = sockaddr_in($port,$iaddr); #udobnay forma for socketa

connect(SOCK,$paddr)||die("Cann't connect: $!");

send(SOCK,"GET $path HTTP/1.0\n Host: $host\n User-Agent: Mozilla/5.0\n\n",0);

my @data = <SOCK>;

close(SOCK)||die("Cann't close: $!");

print "\n";
print @data;
print "\nGet info from http://".$host.$path." on $port port\n";
print "\n\n";


Но лучше это сделать с модулем LWP, смотри здесь.

smile


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
kokaine
Дата 28.12.2005, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 27.12.2005

Репутация: 1
Всего: 1



аха спасибо smile
PM MAIL   Вверх
DEER
Дата 28.12.2005, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 749
Регистрация: 12.4.2005
Где: г. Рязань

Репутация: 1
Всего: 13



Возможно проблема в интранете,
т.е. если стоит прокси сервер, он может и не пускать твои запросы,
по крайней мене у меня такое случалось


--------------------
 
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0837 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.