weblink und BasicAuth

Begonnen von Sailor, 04 Juli 2016, 16:54:08

Vorheriges Thema - Nächstes Thema

Sailor

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
******************************
Man wird immer besser...

rudolfkoenig

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.