Salve,
vorrei scrivere un piccolo bot che dovrebbe fare:
- login in una pagina web tramite post form autenticato
- raggiungere una pagine (raggiungibile solo da loggato) che contiene alcune select, inizializzarle e avviare una ricerca interna
- leggere i risultati e tradurli in un altro "linguaggio"
STEP 1
Il primo problema che ho incontrato è nel login, in quanto il form è questo:
codice:
<form action="https://secure.dbcdn.com/auth/Authenticate" method="post">
<input type="hidden" name="login" value="1"/>
<div class="toplinee_login">
Username <input type="text" name="username" tabindex="1" />
Password <input type="password" name="password" tabindex="2" />
</div>
<div style="float:left;" class="images-login">
<div style="padding-top:5px;">
<input type="submit" name="Submit" id="Submit" value="" />
</div></div></form>
ed i metodi che ho trovato nel web non sembrano andare (java.net, httpclient, ecc..).
Qualche suggerimento?
edit: aggiungo il codice non funzionante che sto provando
codice:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
public class PostExample
{
public static void prova() throws Exception {
URL url = new URL("MYURL");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.connect();
OutputStreamWriter os = new OutputStreamWriter(conn.getOutputStream());
os.write("login=1&username=MYUSERNAME&password=MYPASSWORD");
os.close();
BufferedReader bis = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while (bis.ready()){
System.out.println(bis.readLine());
}
bis.close();
}
}
Mi ritorna la home page default, senza loggare.