Ein herzerfrischendes "Moin" vom "hintern Deich" vorweg!
Ich habe eine Frage zu dem Modul "98_weblink.pm": Ist es irgendwie moeglich ein weblink-fenster zu integrieren und dabei das login-fenster zu ueberspringen, indem man den Usernamen und das Password gleich uebermittelt?
Der alte Standard http://username:password@example.com
funktioniert ja nicht mehr.
Der Sourcecode der Seite lautet:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<link rel="Stylesheet" type="text/css" href="/res/styles.css" />
<link rel="Stylesheet" type="text/css" href="/res/specific.css" />
<script type="text/javascript" src="/lib/common.js"></script>
<script type="text/javascript" src="/branding/branding.js"></script>
<script type="text/javascript" src="/desktop/lib/main_login.js"></script>
</head>
<body class="container">
<div class="container_head_box login_downsize">
<img src="/res/banner_narrow.jpg" alt="" />
<span id="litProduct" class="container_head_box_product"></span>
<span id="litTime" class="container_head_box_time"></span>
</div>
<br />
<div class="container_iframe_box login_downsize">
<div style="width: 600px; height: 200px;">
<div class="page">
<form id="inputForm" action="" autocomplete="off">
<h2 id="locHeader" class="localizable">
</h2>
<div class="page_area">
<table class="inputTable">
<tr>
<td class="inputColLabel">
<span id="locAuthUsername" class="localizable"></span>
</td>
<td class="inputColData">
<input id="txtAuthUsername" name="txtAuthUsername" type="text" />
</td>
</tr>
<tr>
<td class="inputColLabel">
<span id="locAuthPassword" class="localizable"></span>
</td>
<td class="inputColData">
<input id="txtAuthPassword" name="txtAuthPassword" type="password" />
</td>
</tr>
</table>
</div>
<div class="page_buttons">
<input id="btnLogin" name="btnLogin" type="submit" class="localizable" />
<input id="btnMobile" name="btnMobile" type="button" class="localizable" />
</div>
</form>
</div>
</div>
</div>
<br />
<div class="container_lang_box login_downsize">
<img id="imgSetLangCs" src="/res/flag_cs_small.png" alt="Čeština" />
<img id="imgSetLangDa" src="/res/flag_da_small.png" alt="Dansk" />
<img id="imgSetLangDe" src="/res/flag_de_small.png" alt="Deutsch" />
<img id="imgSetLangEn" src="/res/flag_en_small.png" alt="English" />
<img id="imgSetLangEs" src="/res/flag_es_small.png" alt="Español" />
<img id="imgSetLangFr" src="/res/flag_fr_small.png" alt="Français" />
<img id="imgSetLangHu" src="/res/flag_hu_small.png" alt="Magyar nyelv" />
<img id="imgSetLangIt" src="/res/flag_it_small.png" alt="Italiano" />
<img id="imgSetLangNl" src="/res/flag_nl_small.png" alt="Nederlands" />
<img id="imgSetLangSk" src="/res/flag_sk_small.png" alt="Slovenčina" />
<img id="imgSetLangSl" src="/res/flag_sl_small.png" alt="Slovenščina" />
<img id="imgSetLangSv" src="/res/flag_sv_small.png" alt="Svenska" />
<img id="imgSetLangPl" src="/res/flag_pl_small.png" alt="Polskie" />
<img id="imgSetLangPt" src="/res/flag_pt_small.png" alt="Português" />
</div>
</body>
</html>
Somit hatte ich angenommen, es wuerde auch
http://192.168.178.66/desktop/index_framed.htm?txtAuthUsername=User01?txtAuthPassword=Password01!
funktionieren.
Doch leider erwies sich dies ebenfalls als ein Fehlschlag.
Die einzige Alternative wäre jetzt ein POST wie beispielsweise
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $url = 'login URL';
$ua -> credentials(
$url,
'',
'user',
'pass'
);
my $response = $ua ->get($url);
print $response->content;
mit dem entsprechenden "basicAuth" - Attribut in das Weblink Modul einzubringen.
Kann Jemand, der das Modul besser kennt als ich abschätzen, wie aufwendig dies ist?
Danke und Gruss
Sailor
ZitatDer alte Standard ... funktioniert ja nicht mehr.
Wenn das irgendwo funktioniert hat, dann hat der Webbrowser die Werte vom URL ins HTTP-Header transferiert und codiert. Weblink macht das nicht. Wuerde in diesem Fall auch nicht helfen, da deine Seite kein basicAuth verwendet.
Am einfachsten waere das Post-Request eines "echten" Login-Versuchs protokollieren (muesste in den JavaAScrip Consolen irgendwo zu finden sein), und diese Daten per HttpUtils_(Non)BlockingGet zu schicken. Evtl. kannst du auch das HTTPMOD Modul davon ueberzeugen, diese Daten zu schicken. weblink ist die falsche Baustelle, das Modul ist zu einfach gestrickt fuer sowas.