Наш клиент имеет простую настройку.Автоматическая подача формы с PERL - отладка!
Страница A имеет форму, которая отправляется на страницу B, которая отображает результаты запроса. К сожалению, нет другого доступа к API или БД для получения данных.
Поскольку нам нужно часто выполнять этот запрос, мы решили автоматизировать это представление с помощью Perl.
Я определил пары значений ключа формы страницы A со снифером и воспроизвел код. Однако при запуске страницы программы B выдает ошибку HTTP 500 без каких-либо дополнительных значимых объяснений.
Любые указатели для отладки этого кода? Код сам по себе прост:
use strict; use warnings; use LWP; my $browser = LWP::UserAgent->new; my $url = "targeturl.asp" my $response = $browser->post($url, [ "HisSort" => "1", "RTsort" => "", "chkHisRun" => "on", "chkRTRun" => "on", "optAdHoc" => "on", "optHist" => "", "optServer" => "servername", "optStatus" => "", "optWhat" => "H", "txtEnd" => "", "txtFields" => "1,0,10,17,11,18,24,19,21,25,1", "txtHEnd" => "11/3/2010", "txtHStart" => "11/1/2010", "txtServer" => "", "txtStart" => "", ] );
Примечание: У меня нет доступа к источнику страницы A или B страницы
Возможно, вы должны указать полный URL-адрес. – Benoit 2010-11-29 12:45:57
Если вы отправляете идентичный запрос, вы получите идентичный ответ. Поэтому вам нужно выяснить, где ваш запрос отличается от вашего браузера. Например, есть куки? Ваш скрипт Perl, похоже, не пытается установить заголовки в соответствие с браузерами - возможно, страница B не может проанализировать User-Agent, скажем. – 2010-11-29 13:04:03