У меня есть сценарий, который я пытаюсь войти в страницу Oracle EBS, и я считаю, что я на расстоянии одной строки (я мог ошибаться) от этого. Ниже мой сценарий и прилагается раздел из данных, я думаю, что ответ есть где-то.WWW :: Механизировать доступ к защищенному веб-сайту
Я думаю, что его отправьте и отправьте форму, где я думаю, что я терплю неудачу. Но если кто-то увидит другие расхождения, пожалуйста, дайте мне знать. Я вижу, где имя пользователя в скрипте находится в форме, но не пароль. Я верю, что сценарий имеет правильную запись, но исправьте меня, если я ошибаюсь.
Заранее благодарен!
use strict;
use warnings;
use WWW::Mechanize;
use HTTP::Cookies;
my $outfile = "test";
my $url = "http ://url_address:portnumber /OA_HTML/Login";
my $username = 'johndoe';
my $password = 'johndoe123';
my $mech = WWW::Mechanize->new();
$mech->cookie_jar(HTTP::Cookies->new());
$mech->get($url);
$mech->form_id('DefaultFormName');
$mech->field("usernameField", $username);
$mech->field("passwordField", $password);
$mech->submit_form(
form_id => "DefaultFormName",
fields => {
usernameField => $username,
passwordField => $password,
'_FORM_SUBMIT_BUTTON' => "SubmitButtonofEPmL1A",
},
);
my $output_page = $mech->content();
print $output_page;
open(OUTFILE, ">$outfile");
binmode(OUTFILE, ":utf8");`enter code here`
print OUTFILE "$output_page";
close(OUTFILE);
Форма snipet:
"name="usernameField" size="0" type="text" value="johndoe">
< src="/OA_HTML/cabo/images/swan/t.gif" width="5"></td></tr><tr><td colspan="2"></td><td><span class="x2o">
(example: john.doe)</span></td></tr></table></td></tr><tr id="region41" align="left"><td id="region131" valign="top"><span class="x9g">*</span></td>
<td id="region51" valign="top"><span class="x9c">Password</span></td><td id="region61"><table id="passwordField__xc_" border="0" cellspacing="0" cellpadding="0"><tr><td align="right" nowrap></td><td></td>
<td valign="top" nowrap><input id="passwordField" title="Password" class=".LoginText" onchange="" name="passwordField" size="0" type="password">
< src="/OA_HTML/cabo/images/swan/t.gif" width="5"></td></tr><tr><td colspan="2"></td><td><span class="x2o">
(example: A1B2c3D4)</span></td></tr></table></td></tr><tr id="region132" align="left"><td id="region139">
</td><td id="region138"></td><td id="region133">
<button id="SubmitButton" title="Login" class="x7g" style="background-image:url(/OA_HTML/cabo/images/swan/btn-bg1.gif)"
onclick="submitForm('DefaultFormName',1,{'_FORM_SUBMIT_BUTTON':'SubmitButtonofEPmL1A'});return false" type="submit">Login</button>< id="item11" src="/OA_HTML/cabo/images/swan/t.gif" width="2" height="1">"
Примечательно: что Mech не обрабатывает JavaScript - это самый первый вопрос в [WWW :: Mechanize FAQ] (http://search.cpan.org/dist/WWW-Mechanize/lib/WWW/Mechanize/FAQ .pod) –
Любые предложения, что тогда? –
@JohnTaylor: Вы читали ответ до самого конца? – choroba