Il protocollo HTTP (Hypertext Transfer Protocol) è fra i più noti protocolli Internet. Il suo uso principale è quello di essere un mezzo per prelevare pagine HTML da mostrare in un browser.
HTTP è un protocollo di richiesta/risposta. Ci sono vari tipi di richieste effettuabili, ognuna delle quali viene identificata da un preciso metodo HTTP. I metodi più noti sono GET e POST.
Una richiesta di tipo POST spedisce dei dati (solitamente inseriti dall'utente in un form web) dopo aver specificato la pagina che analizza i dati spediti, il server, vari header e una linea bianca dopo quest'ultimi. Esempio:
POST /login.jsp HTTP/1.1
Host: www.mysite.com
User-Agent: Mozilla/4.0
Content-Length: 27
Content-Type: application/x-www-form-urlencoded
userid=chris&password=indovina
Invio richieste POST in Java
Qui di seguito il codice per inviare richieste POST ad un sito web in Java:
URL url;
URLConnection urlConn;
DataOutputStream printout;
DataInputStream input;
try{
url = new URL ("http://www.sito.com/pagina.php");
urlConn = url.openConnection();
urlConn.setDoInput (true);
urlConn.setDoOutput (true);
urlConn.setUseCaches (false);
urlConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
// spedisce al server i dati via POST
printout = new DataOutputStream (urlConn.getOutputStream());
String content = "username=" + URLEncoder.encode ("pippo","UTF-8") +
"password=" + URLEncoder.encode ("pippopass","UTF-8");
printout.writeBytes (content);
printout.flush ();
printout.close ();
// Stampa a video la risposta del server linea per linea
BufferedReader bufline = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
String str;
while (null != ((str = bufline.readLine()))) {
System.out.println (str);
}
bufline.close ();
}catch(Exception e){
System.out.println("ERRORE: "+e);
}








0 commenti:
Posta un commento