Utilizzare la row di command per connettersi a una networking wireless con un login http

Sto cercando di connettersi a una networking wifi in cui risolve tutte le richieste e li reindirizza in una pagina in cui devi accettare i termini di utilizzo prima di consentirti di connettersi al mondo esterno reale. Questa è una pratica abbastanza comune, e di solito non pone molto di un problema.

Tuttavia, ho un computer che esegue server Ubuntu 9.10 senza sistema di finitura. Come posso utilizzare la row di command per accettare i termini di utilizzo? Non ho accesso a Internet sul computer per scaricare i pacchetti via apt-get o qualcosa del genere. Certo, posso pensare a un certo numero di soluzioni alternative, ma sospetto che esista un modo semplice per usare wget o ricci o qualcosa.

In sostanza, ho bisogno di una soluzione di row di command per submit una richiesta POST HTTP essenzialmente cliccando su un button. Per riferimento futuro, sarebbe utile sapere come submit una richiesta POST, ad esempio, un nome utente e una password se mi trovassi in quella situazione in un altro hotel o aeroporto.

Installare Lynx in anticipo e quindi utilizzare Lynx dalla row di command. Lynx è un browser basato sul text.

In alternativa, è ansible provare a utilizzare wget o curl per get http://www.google.com e quindi analizzare il file HTTP restituito.

Dovresti guardare una volta alla fonte del module di accesso per scoprire i nomi dei campi utente e password. Poiché l'authentication reindirizza tutte le pagine, utilizzare qualsiasi URL per get tale origine:

curl http://www.google.com > login.html 

Ad esempio, troverai:

 <form method="POST" action="http://my-public-provider.com/agree.php"> <input type="checkbox" name="agree" value="yes">I agree <input type="submit" name="push" value="Send"> </form> 

Un altro modo è quello di utilizzare (su un altro computer) un proxy come Fiddler2 per vedere cosa viene inviato "dal filo" dal browser.

Quindi puoi creare il tuo command curl per submit le tue informazioni sul module:

 curl -d "agree=yes&push=Send" http://my-public-provider.com/agree.php 

Se non si dispone di curl , è ansible scrivere un client HTTP semplice con una lingua che si può avere sulla piattaforma (Perl, Lua, Java …).