perl & LWP:UserAgent

Discussion in 'PHP' started by x-treem, 7 May 2007.

  1. x-treem

    x-treem Elder - Старейшина

    Joined:
    8 Nov 2006
    Messages:
    130
    Likes Received:
    16
    Reputations:
    0
    значет есть проблема.
    с помощью модуля LWP::UserAgent надо послать POST запрос. НО! Ответ считывать не надо. то есть послал, и забыл. плевать мол на то что сервер ответит. это возможно?
     
  2. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    Если я тебя правильно понял, то в данном случае - нет.
    Надо использовать IO::Socket, тк LWP ждет хоть какой-то ответ от сервера или выдает еррор по таймауту.
     
  3. x-treem

    x-treem Elder - Старейшина

    Joined:
    8 Nov 2006
    Messages:
    130
    Likes Received:
    16
    Reputations:
    0
    очень жаль...
    спасибо
     
  4. Developer

    Developer Elder - Старейшина

    Joined:
    3 May 2006
    Messages:
    152
    Likes Received:
    25
    Reputations:
    10
    Насколько я знаю, сначала идет коннект, потом уже шлется запрос, поэтому тайм-аут действует только для коннекта к серверу.

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

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    из perldoc LWP::UserAgent:
     
  6. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    бугаг делай

    допустм так

    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. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    как раз таки в данном случае, ты запрашиваешь ответ
    ты присваиваешь результат $res => скрипт будет ждать пока LWP что-то вернет в $res
    а вообще он в любом случае будет ждать, тк LWP всегда возвращает экземпляр HTTP::Response

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

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    а тебе не кажется что $res это просто указатель -- и если он автоматом заполняется то попробуй его выведи принтом получишь адрес в оперативе --- еслиб он автоматом заполнялся то накой придумывать content as_string и head -- если полюбому они все есть в переменной??? если даже я неправ можно просто поставить небольшой таймут на соеднение и все
     
  9. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    И так по порядку:

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

    2. Надеюсь эти скриншоты тебе помогут разобраться в сути дела:
    [​IMG][​IMG]
     
    1 person likes this.
  10. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    ну вот -- а может ты увидил ответ серва из-за того что запросил его через редактор и он его специально его получил??? -- не ты прав -- позырил в фаере трафф на соединение отосланный и полученный -- да выкачивает =)
     
    #10 genom--, 7 May 2007
    Last edited: 7 May 2007
  11. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    Так тебя устроит?
    [​IMG]

    ЗЫ: ты прикидываешся чтоли...?