Ciao.
Il viewstate non è poi così complesso: si tratta di una lista di coppie chiave/valore codificata in BASE64.
Ho provato a cercare tra i miei appunti ed in effetti ho trovato qualcosa. In particolare ho trovato un esempio che avevo impiegato per fare un autologon ad un sito web .NET 1.0 da una normale pagina HTML.
Oltre al viewstate, a naso mi sa che mancano altri campi nascosti. Pur precisando che nel mio esempio usavo .NET 1.0 (come applicazione web) dovresti controllare: __EVENTTARGET, __EVENTARGUMENT. Inoltre i campi txtUid e txtPwd non sono chiamati esattamente in questo modo da .NET bensì sono preceduti da un identificativo interno del controllo (es. txtUid potrebbe chiamarsi, ai fini HTML, _ctl0_txtUid).
Proverei nel seguente modo: naviga la pagina di login usando il tuo browser (senza fare login ovviamente). Passa alla visualizzazione del sorgente HTML. A questo punto dovresti dare un'occhiata al codice HTML. La parte di tuo interesse (oltre ai tag HTML, HEAD, BODY, SCRIPT) e tutto ciò che è contenuto all'interno dei tag FORM.
Ti porto un banale esempio sempre riferito al login verso un'applicazione .NET 1.0.
<HTML>
<HEAD>
<title>MIO PORTALE</title>
<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
<link href="portale.css" type="text/css" rel="stylesheet"></link>
</HEAD>
<body leftmargin="0" bottommargin="0" rightmargin="0" topmargin="0" marginheight="0" marginwidth="0">
<form name="Form1" method="post" action="http://il_mio_server_www/login.aspx" id="Form1">
<input type="hidden" name="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" value="dDw3......" />
<script language="javascript">
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform = document.Form1;
theform.__EVENTTARGET.value = eventTarget;
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
// -->
</script>
<input name="_ctl0:txtUId" type="hidden" id="_ctl0_txtUId" value="il_mio_user_id"/>
<input name="_ctl0:txtPwd" type="hidden" id="_ctl0_txtPwd" value="la_mia_password"/>
<a id="_ctl0_lblSignin" tabindex="1" title="Esegue l'accesso con nome utente e password" href="javascript:{if (typeof(Page_ClientValidate) != 'function' || Page_ClientValidate()) __doPostBack('_ctl0:lblSignin','')} ">ESEGUI LOGIN</a>
</form>
</BODY>
</HTML>
Questo codice HTML è stato ottenuto seguendo le istruzioni che ti ho riportato e visualizza un semplice ANCHOR (tag <A>) cliccando il quale viene innescato il login alla pagina.
Proverei così! Se qualcosa cambia continua a postare che possiamo aggiustare il tiro.
Ciao.