Använda HTTP POST för att logga in på webbsida?

Permalänk

Använda HTTP POST för att logga in på webbsida?

Hej kan någon hjälpa mig med hur jag ska använda HTTP POST för att skicka mitt användarnamn och lösenord till en webbsida för att logga in?

Sidan ser ut så här :

<!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" xml:lang="sv" lang="sv"> <head> <meta http-equiv="Pragma" content="no-cache"> <title>Högskolan i Gävle - Högskolan i Gävle</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <meta name="owner" content="cn=veronica,ou=og,ou=kom,ou=forv,ou=personal,ou=hig-domain,dc=hig-ad,dc=hig,dc=se" /> <meta name="keywords" content="" /> <meta name="description" content="Högskolan i Gävle är en modern högskola med stark miljöprofil. Här kan du bland annat utbilda dig till lärare, sjuksköterska, socionom, ekonom, ingenjör, fastighetsmäklare, hälsopedagog, lantmätare och personalvetare." /> <meta name="DC.Title" content="Högskolan i Gävle | Startsida" /> <meta name="DC.Creator" content="System" /> <meta name="DC.Creator:Address" content="webmaster@hig.se" /> <meta name="skapaddatum" content="2008-10-03 10.38" /> <meta name="DC.Publisher" content="System" /> <meta name="DC.Date" content="2008-10-03" /> <meta name="DC.Identifier" scheme="URL" content="http://www.hig.se" /> <meta name="DC.Language" scheme="RFC1766" content="sv" /> <meta name="DC.Format" scheme="IMT" content="text/html" /> <meta name="DC.Type" content="text" /> <link rel="schema.DC" href="http://purl.org/DC/elements/1.0/" /> <link rel="canonical" href="http://www.hig.se" /> <link href="style.css" rel="stylesheet" type="text/css"> <link href="SiteVision.css" rel="stylesheet" type="text/css"> <style type="text/css" media="braille,embossed,handheld,print,projection,screen,speech,tty,tv"> @import url(SiteVision.css); @import url(SiteVision7535.css); </style> <link rel="alternate" title="Nyheter från Högskolan i Gävle" type="application/rss+xml" href="http://www.hig.se/2.101e80a011d31879cdc800048584/12.101e80a01..." /> <link title="Högskolan i Gävle favicon" type="image/x-icon" rel="shortcut icon" href="favicon.ico" /> <link rel="stylesheet" type="text/css" media="print" href="print_extra.css" /> <link rel="stylesheet" type="text/css" media="screen,projection" href="higtopmenu.css" /> </script> <script type="text/javascript" language="javascript"> function submitAction(){ var link = document.location.href; var searchString = "redirect="; var equalIndex = link.indexOf(searchString); var redirectUrl = ""; var urlStr = ""; if(equalIndex > 0) { equalIndex += searchString.length; urlStr = link.substring(equalIndex); if(urlStr.length > 0){ redirectUrl += urlStr; if(redirectUrl.length > 255) redirectUrl = redirectUrl.substring(0,255); document.forms[0].redirect_url.value = redirectUrl; } } document.forms[0].buttonClicked.value = 4; document.forms[0].submit(); } function loadAction(){ var url = window.location.href; var args = new Object(); var query = location.search.substring(1); var pairs = query.split("&"); for(var i=0;i<pairs.length;i++){ var pos = pairs[i].indexOf('='); if(pos == -1) continue; var argname = pairs[i].substring(0,pos); var value = pairs[i].substring(pos+1); args[argname] = unescape(value); } //alert( "AP MAC Address is " + args.ap_mac); //alert( "The Switch URL is " + args.switch_url); document.forms[0].action = args.switch_url; // This is the status code returned from webauth login action // Any value of status code from 1 to 5 is error condition and user // should be shown error as below or modify the message as it suits // the customer if(args.statusCode == 1){ alert("You are already logged in. No further action is required on your part."); } else if(args.statusCode == 2){ alert("You are not configured to authenticate against web portal. No further action is required on your part."); } else if(args.statusCode == 3){ alert("The username specified cannot be used at this time. Perhaps the username is already logged into the system?"); } else if(args.statusCode == 4){ alert("Wrong username and password. Please try again."); } else if(args.statusCode == 5){ alert("The User Name and Password combination you have entered is invalid. Please try again."); } } function getErrorMsgIfAny(){ if(document.forms[0].err_flag.value == 1){ document.writeln(' \ <tr align="center"> <td colspan="2" style="color:#CC0000">Login Error.</td>\ </tr><tr align="center"> <td width="350" class="message" colspan="2">The User Name and Password combination you have entered is invalid. Please try again.</td></tr>\ <tr> <td class="caption" colspan="2">&nbsp;</td></tr>'); }else{ document.writeln(' '); } } </script> <script language="javascript" src="./loginscript.js"></script> <script src="./javascript.js" type="text/javascript" language="Javascript1.2" charset="ISO-8859-1"></script> </head> <body style="margin-left: 0px; margin-top: 0px;margin-right: 0px; margin-bottom: 0px;" onload="loadAction();"> <div style="" id="svid10_101e80a011d31879cdc800049058"><div style="background-image:url(sidhuvud3.png); background-repeat: repeat-x; width: 100%;" id="svid10_101e80a011d31879cdc800049273"> <div style="display: table; margin-left: auto; margin-right: auto" id="svid10_101e80a011d31879cdc800049945"> <div style="text-align: left;;width: 75.0em;" id="svid10_101e80a011d31879cdc800050321"> <div id="svid10_101e80a011d31879cdc800050519"> <div class="sv-horizontal" id="svid10_290b5268134f8a1f48f8000982"><div class="sv-float-left sv-image-portlet sv-portlet c13" id="svid12_101e80a011d31879cdc800049875"><div id="Logo"><!-- Logo --></div><a title="Högskolan i Gävle" href="/"><img alt="Högskolan i Gävle" class="sv-noborder" src="logga3.png" height="100px" /></a> <a title="Högskolans arbete för hållbar utveckling" href="http://www.hig.se/Ext/Sv/Organisation/Rektor/Rektors-kansli/A..." style="color: rgb(255,255,255);text-decoration: none"><font color="FFFFFF"><h0>HÖGSKOLAN I GÄVLE</font></h0></a><br /><a title="Högskolans arbete för hållbar utveckling" href="http://www.hig.se/Ext/Sv/Organisation/Rektor/Rektors-kansli/A..." style="color: rgb(255,255,255);text-decoration: none"><h01><font color="FFFFFF">För en hållbar livsmiljö för människan</h01></font></a></div> <br /> </div> </div> </div> <div class="sv-clear-both"></div> </div> </div> </div> </div> <menux1pos> <div style="" id="svid10_101e80a011d31879cdc800049058"><div style="background-image:url(gratopmeny.jpg); background-repeat: repeat-x; width: 100%;" id="svid10_101e80a011d31879cdc800049273"> <div class="c16" id="svid10_290b5268134f8a1f48f8000974"><div class="sv-horizontal c17" id="svid10_290b5268134f8a1f48f8000975"><div class="sv-float-left sv-jcrmenu-portlet sv-portlet c28" id="svid12_290b5268134f8a1f48f8000976"><div id="Toppmeny-0"><!-- Toppmeny --></div> <div style="display: table; margin-left: auto; margin-right: auto" id="svid10_101e80a011d31879cdc800049945"> <div style="text-align: left;;width: 75.0em;" id="svid10_101e80a011d31879cdc800050321"> <div id="svid10_101e80a011d31879cdc800050519"> <div id="menu"> <ul class="c18"> <li class="c19"> <a href="http://www.hig.se/Ext/Sv/Utbildning.html" title="Toppmenyval: Utbildning" class="c29" style="text-decoration: none" ><topmenyx1>UTBILDNING</topmenyx1></a> </li> <li class="c19"> <a href="http://www.hig.se/Ext/Sv/Forskning.html" title="Toppmenyval: Forskning" class="c29" style="text-decoration: none" ><topmenyx1>FORSKNING</topmenyx1></a> </li> <li class="c19"> <a href="http://www.hig.se/Ext/Sv/Samverkan.html" title="Toppmenyval: Samverkan" class="c29" style="text-decoration: none" ><topmenyx1>SAMVERKAN</topmenyx1></a> </li> <li class="c19"> <a href="http://www.hig.se/Ext/Sv/Om-Hogskolan.html" title="Toppmenyval: Om Högskolan" class="c29" style="text-decoration: none" ><topmenyx1>OM HÖGSKOLAN</topmenyx1></a> </li> <li class="c19"> <a href="http://www.hig.se/Ext/Sv/Biblioteket.html" title="Toppmenyval: Biblioteket" class="c29" style="text-decoration: none" ><topmenyx1>BIBLOTEKET</topmenyx1></a> </li> </ul> </div> </div> <div class="sv-clear-both"></div> </div> </menux1pos> </div> <!-- Här slutar dokumentets sidhuvud --> <div margin> <br /> <h1>IP-Login</h1><br /> <h3>Du loggar in med dina vanliga användaruppgifter som du har på högskolan.</h3> <h3>To log on use your computer account.</h3> <form method="post" ACTION="/login.html"> <input TYPE="hidden" NAME="buttonClicked" SIZE="16" MAXLENGTH="15" value="0"> <input TYPE="hidden" NAME="redirect_url" SIZE="255" MAXLENGTH="255" VALUE=""> <input TYPE="hidden" NAME="err_flag" SIZE="16" MAXLENGTH="15" value="0"> <input TYPE="hidden" NAME="info_flag" SIZE="16" MAXLENGTH="15" value="0"> <input TYPE="hidden" NAME="info_msg" SIZE="32" MAXLENGTH="31" value="0"> <!-- <div align="center"> --> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><script> getErrorMsgIfAny(); </script> </td></tr> <tr align="center"> <td>User Name: </td><td><input type="TEXT" name="username" SIZE="25" MAXLENGTH="63" VALUE=""></td> </tr> <tr> <td> Password: </td><td><input type="Password" name="password" SIZE="25" MAXLENGTH="24" onKeyPress="submitOnEnter(event);"></td> </tr> <tr align="center"> <td colspan="2"><input type="button" name="Submit" value="Submit" class="button" onclick="submitAction();"></td> </tr> </table> </div> </form> <div id="keepitin"> <div style="border-bottom-style: solid; border-bottom-color: #bbbbbb; border-bottom-width: 0.2em;width: 67.0em;margin: 0.1em;padding: 0.1em;" id="svid10_101e80a011d31879cdc800050518"> <br /><br /> <fieldset><legend>EduRoam</legend> EduRoam &aumlr ett enkelt och smidigt sätt att använda sig av det trådlösa nätverket,<br /> utan att du ska behöva logga in när du försöker ansluta till det.<br /> EduRoam är en säker lösning när man använder det trådlösa nätverket.<br /><br /> För fortsatt information och hjälp om EduRoam, besök följande länk. <a href="http://www.hig.se/Int/Startsida/Service-och-support/IT-suppor...">EduRoam</a>. <br /><br /><br /> EduRoam is a simple and smooth way of connecting to the wireless network. <br /> You do not need to login every time you are connecting to it.<br /> EduRoam is also a secure way of connecting to the wireless network.<br /><br /> For more information and support use the following link. <a href="http://www.hig.se/Int/Startsida/Service-och-support/IT-suppor...">EduRoam</a>. <br /><br /> </fieldset> <fieldset><legend>Regler / Rules</legend> Svensk lag och Högskolan i Gävles <a href="http://www.hig.se/Organisation/Forvaltning/Forvaltning/IT-avd...">etiska regler</a> gäller. <p>Snabbt förenklat</p> <ul> <li>Dela inte ut copyrightskyddat material. <li>Håll din dator virusfri. </ul> <br /><br /> Swedish law och University of Gävles <a href="http://www.hig.se/Organisation/Forvaltning/Forvaltning/IT-avd...">ethical rules</a> applies. <p>Quick simplification</p> <ul> <li>Do not share copyright protected material.</li> <li>Keep your computer free from viruses.</li> </ul> </fieldset> <fieldset><legend>Mail</legend> På grund av frekventa svartlistningar av våra smtp-servrar är smtp-trafik numera blockerad.<br /> Alla studenter har tillgång till <a href="http://webmail.student.hig.se/">webmail.student.hig.se</a> via högskolan. <br /> Personal hänvisas till <a href="http://webmail.hig.se/">webmail.hig.se</a>. <br /><br /> Due to frequent blacklisting of our smtp server all smtp traffic is blocked.<br /> All students have access to <a href="http://webmail.student.hig.se/">webmail.student.hig.se</a><br /> Employees have access to <a href="http://webmail.hig.se/">webmail.hig.se</a> </fieldset> <br /> <br /> </div> <!-- Här börjar dokumentets sidfot --> <div style="clear:both"></div> <div style="border-top-style: solid; border-top-color: #bbbbbb; border-top-width: 0.1em;width: 67.0em;margin: 0.1em;padding: 0.1em; text-align: center;" id="svid10_101e80a011d31879cdc800050518"> <div style="width: 56.0em;" id="svid10_101e80a011d31879cdc800050548"> <div style="padding-top: 0.5em; text-align: center; display: table; margin: 0 auto;;" id="svid10_101e80a011d31879cdc800050545"> <div style="float:left; padding-left: 0.4em; padding-right: 0.4em; border-right-color: #333333; border-right-width: 0.1em; border-right-style: solid; " id="svid12_101e80a011d31879cdc800050553"><a name="Text3"></a><span class="sidfotstext">Högskolan i Gävle</span></div> <div style="float:left; padding-right: 0.4em; padding-left: 0.4em; border-right-color: #333333; border-right-width: 0.1em; border-right-style: solid; " id="svid12_101e80a011d31879cdc800050549"><a name="Kopia2avText3"></a><span class="sidfotstext">801 76 Gävle</span></div> <div style="float:left; padding-right: 0.4em; padding-left: 0.4em; border-right-color: #333333; border-right-width: 0.1em; border-right-style: solid; " id="svid12_101e80a011d31879cdc800050551"><a name="Kopia3avText3"></a><span class="sidfotstext">Telefon 026 - 64 85 00</span></div> <div style="float:left; padding-right: 0.4em; padding-left: 0.4em; border-right-color: #333333; border-right-width: 0.1em; border-right-style: solid; " id="svid12_101e80a011d31879cdc800050552"><a name="Kopia4avText3"></a><span class="sidfotstext">Fax 026 - 64 86 86</span></div> <div style="float:left; padding-right: 0.4em; padding-left: 0.4em; " id="svid12_101e80a011d31879cdc800050555"><a name="Kopia5avText3"></a><span class="sidfotstext">© Högskolan i Gävle 2008</span></div> <div style="clear:both"></div> </div> <div style="text-align: center; display: table; margin: 0 auto;;width: 31.0em;" id="svid10_101e80a011d31879cdc800050546"> <div style="float:left; padding-right: 0.4em; padding-left: 0.4em; border-right-color: #333333; border-right-width: 0.1em; border-right-style: solid; " id="svid12_101e80a011d31879cdc800050550"><a name="Text3-0"></a><a class="sidfotstext" title="Om webbplatsen" href="http://www.hig.se/-Om-webbplatsen/Om-webbplatsen.html">Om webbplatsen</a></div> <div style="float:left; padding-right: 0.4em; padding-left: 0.4em; border-right-color: #333333; border-right-width: 0.1em; border-right-style: solid; " id="svid12_101e80a011d31879cdc800050554"><a name="Kopia1avText3"></a><a class="sidfotstext" title="Kontakt och kartor" href="http://www.hig.se/Om-Hogskolan/Lokaler-och-campus/Kontakt-och...">Kartor och vägbeskrivning</a></div> <div style="float:left; padding-right: 0.4em; padding-left: 0.4em; " id="svid12_101e80a011d31879cdc800050556"><a name="Kopia2avText3-0"></a><a class="sidfotstext" title="webmaster@hig.se" href="http://www.hig.se/Ext/Sv/Om-Hogskolan/Kontakta-oss.html">Kontakta oss</a></div><br /><br /> <div class="sv-old-text-portlet c84" id="svid12_4a70fae12b0f0cd4828000190"><div id="Text1-1"><!-- Text 1 --></div><span class="sidfotstext">Högskolan är miljöcertifierad enligt ISO 14001 </span><img style="border-style:none" src="ISO14001-20x20.jpg" /></div> <div style="clear:both"></div> </div> </div> </div> </div> </div> </div> </div> </div> </body> </html> <!-- Här slutar dokumentets sidfot -->

Permalänk
Medlem

Istället för att själv analysera html-koden så brukar det vara enklare att använda en modul till en webbläsare som loggar vilken trafik den skickar och tar emot.
Till Firefox finns ett add-on vid namn HttpFox som jag tycker är bra.
Slå på en sådan och logga sedan in på sidan, och titta i loggen så ser du exakt hur POST-anropet ser ut. Och det brukar vara ganska enkelt att återskapa samma i exempelvis curl.

Permalänk
Medlem

En liten luddig trådstart. Hur vill du gå till väga? Enklast är att använda curl för att göra ett POST-anrop där du skickar med användarnamn och lösenord mot den URL:en som formuläret skickar dig till.

curl --data "username=value1&password=value2" https://example.com/login