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
   
 
 
Опции темы Поиск в этой теме Опции просмотра

perl & LWP:UserAgent
  #1  
Старый 07.05.2007, 14:54
x-treem
Участник форума
Регистрация: 08.11.2006
Сообщений: 167
Провел на форуме:
539434

Репутация: 54
Отправить сообщение для x-treem с помощью ICQ
По умолчанию perl & LWP:UserAgent

значет есть проблема.
с помощью модуля LWP::UserAgent надо послать POST запрос. НО! Ответ считывать не надо. то есть послал, и забыл. плевать мол на то что сервер ответит. это возможно?
 

  #2  
Старый 07.05.2007, 16:16
KSURi
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме:
1985206

Репутация: 963


По умолчанию

Если я тебя правильно понял, то в данном случае - нет.
Надо использовать IO::Socket, тк LWP ждет хоть какой-то ответ от сервера или выдает еррор по таймауту.
 

  #3  
Старый 07.05.2007, 16:18
x-treem
Участник форума
Регистрация: 08.11.2006
Сообщений: 167
Провел на форуме:
539434

Репутация: 54
Отправить сообщение для x-treem с помощью ICQ
По умолчанию

очень жаль...
спасибо
 

  #4  
Старый 07.05.2007, 16:59
Developer
Участник форума
Регистрация: 03.05.2006
Сообщений: 167
Провел на форуме:
125505

Репутация: 116
По умолчанию

Насколько я знаю, сначала идет коннект, потом уже шлется запрос, поэтому тайм-аут действует только для коннекта к серверу.

Не знаю как в PERL, в PHP просто посылался запрос и сразу закрывалось соединения для этого (никаких fgets).
 

  #5  
Старый 07.05.2007, 17:12
KSURi
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме:
1985206

Репутация: 963


По умолчанию

из perldoc LWP::UserAgent:
Цитата:
Get/set the timeout value in seconds. The default timeout() value is 180 seconds, i.e. 3 minutes.

The requests is aborted if no activity on the connection to the server is observed for timeout seconds. This means that the time it takes for the complete transaction and the request() method to actually return might be longer.
 

  #6  
Старый 07.05.2007, 20:35
genom--
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
Провел на форуме:
1948091

Репутация: 1686


По умолчанию

бугаг делай

допустм так

my $res = $ua->post('http://forum.web-hack.ru/index.php?act=Login&CODE=01', {'referer' => '', 'UserName' => $login2, 'PassWord' => $password2, 'CookieDate' => 1 })or die 'Bad connect to web-hack.ru';

просто запрос и не требуй чтобы lwp запрашивал инфу в ответ и все будет нормально
ненадо писать типо ->content; ->as_string; и тд.
 

  #7  
Старый 07.05.2007, 20:51
KSURi
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме:
1985206

Репутация: 963


По умолчанию

как раз таки в данном случае, ты запрашиваешь ответ
ты присваиваешь результат $res => скрипт будет ждать пока LWP что-то вернет в $res
а вообще он в любом случае будет ждать, тк LWP всегда возвращает экземпляр HTTP::Response

а content заполняется автоматом, а не при вызове
 

  #8  
Старый 07.05.2007, 20:56
genom--
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
Провел на форуме:
1948091

Репутация: 1686


По умолчанию

а тебе не кажется что $res это просто указатель -- и если он автоматом заполняется то попробуй его выведи принтом получишь адрес в оперативе --- еслиб он автоматом заполнялся то накой придумывать content as_string и head -- если полюбому они все есть в переменной??? если даже я неправ можно просто поставить небольшой таймут на соеднение и все
 

  #9  
Старый 07.05.2007, 21:29
KSURi
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме:
1985206

Репутация: 963


По умолчанию

И так по порядку:

1. При print'e получаем: HTTP::Response=HASH(0x28f2a74)link.
Если присмотреться к строке внимательно, ты ты заметишь в ней "HTTP::Response", это означает, что переменная является экземпляром класса HTTP::Response. А HASH(0x28f2a74) показывает тип переменной и ее адрес в таблице переменных перла.

2. Надеюсь эти скриншоты тебе помогут разобраться в сути дела:
 

  #10  
Старый 07.05.2007, 21:39
genom--
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
Провел на форуме:
1948091

Репутация: 1686


По умолчанию

ну вот -- а может ты увидил ответ серва из-за того что запросил его через редактор и он его специально его получил??? -- не ты прав -- позырил в фаере трафф на соединение отосланный и полученный -- да выкачивает =)

Последний раз редактировалось genom--; 07.05.2007 в 21:42..
 
 





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


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




ANTICHAT.XYZ