perl извлечение значений из http-запроса - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть perl остальные API. Когда http-запрос получает мою программу, я хочу извлечь значения из вышеупомянутого запроса.

Я использовал следующий код для получения дампа

warn "\n\n  request : " . MyCT::Util::dumper($self->resp);

Следующий результат можно найти в файле журнала. Как я могу извлечь "автономный" из этого результата?

Tue Feb 18 05:20:26 2020] [warn] [21783] [MyCT] 

request : $VAR1 = bless( {
  'outputSent' => 0,
  'headersSent' => 0,
  'autoFlush' => 0,
  'req' => bless( do{\(my $o = 196025568)}, 'MyCT::Base::Request' ),
  '_cookies' => {
    'sessionKey' => '1762839:c480474dd4f4623035e8f35b445e1aad:c9920499157cf9c2a7972f773d08b972:standalone'
  },
  'contents' => [],
  'active' => 1
}, 'MyCT::Base::Response' );

1 Ответ

3 голосов
/ 18 февраля 2020

Обычно никто не обращается непосредственно к переменной объекта, вместо этого используя предоставленные методы доступа, предоставляемые классом объекта.

Поскольку вы не предоставили информацию о классе, у нас остается только fr agile, подверженная ошибкам альтернатива.

my $session_key = $self->resp->{_cookies}{sessionKey};

Если у вас есть ключ сеанса, это просто вопрос разделения на : и получения четвертого поля.

( split(/:/, $sesion_key) )[3]
...