Ciao a tutti ragazzi...
Ancora qui a chiedervi una mano.
Espongo il problema.
Ho bisogno di prendere dei dati da alcune pagine di un forum con accesso tramite username e password anche in lettura.
Sono riuscito a fare una funzione per entrare nel forum ma poi mi fermo li.
viene scaricata solo la pagina che informa di esserti loggato con successo ma poi non so come fare a scorrere tutto il forum...
Penso che si dovrebbe procedere in questo modo... sottolineo penso...
Eseguo il login con la funzione che ho creato, mi salvo il cookie generato dal sito e per ogni altra consultazione delle pagine reivio il cookie al sito.
Non so, però assolutamente come salvare il cookie e reinviarlo..
Mi aiutate?
Posto il codice del login... in questo caso lo faccio fare al forum di html.it
Ah... se non sono stato chiaro non esitate a chiedere spiegazioni... ho bisogno di tanto tanto aiuto... thanks
codice:
import java.net.*;
import java.io.*;
public class forum {
private static String risultato="";
public static void main(String[] args) {
System.out.println(getPaginaAll("http://forum.html.it/forum/member.php"));
}
private static String getPaginaAll(String link){
String pagina="";
try{
String data = URLEncoder.encode("username", "UTF-8") + "=" + URLEncoder.encode("ilblondobari86", "UTF-8");
data += "&" + URLEncoder.encode("password", "UTF-8") + "=" + URLEncoder.encode("******", "UTF-8");
data += "&" + URLEncoder.encode("s", "UTF-8") + "=" + URLEncoder.encode("d3fc35b8dcbe13d9ea9e2dc5fec36c71", "UTF-8");
data += "&" + URLEncoder.encode("action", "UTF-8") + "=" + URLEncoder.encode("login", "UTF-8");
data += "&" + URLEncoder.encode("url", "UTF-8") + "=" + URLEncoder.encode("/forum/newthread.php?action=newthread&forumid=79", "UTF-8");
data += "&" + URLEncoder.encode("submit", "UTF-8") + "=" + URLEncoder.encode("Collegati!", "UTF-8");
URL url = new URL(link);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
// Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
pagina+=line;
}
wr.close();
rd.close();
}catch (IOException e){
}
//Memorizzo tutta la pagina in una Stringa
return pagina;
}
}
Ho ovviamente asteriscato la password