Originariamente inviato da neroux
HttpsURLConnection sarebbe la strada giusta.
È vero che HttpsURLConnection è la classe "concreta" che gestisce le funzionalità specifiche di HTTPS ma .... non è detto che ti interessi.
Si parte da un new URL("https://....") e poi si ottiene un URLConnection. Che questo URLConnection sia poi realmente un HttpsURLConnection ... beh, potrebbe interessare oppure no. In questo caso, ai fini di fare un semplice invio di dati con metodo "post" no, non interessa!
Originariamente inviato da neroux
Devo eseguire una post inviando dei dati di login [...] Durante le mie ricerche ho già provato ad usare sia la classe HttpsURLConnection
Come ho già detto poco fa, basta URL e URLConnection. E inoltre c'è un'altra questione: se devi fare un "post" per un login ... è come se stessi inviando i dati di un "form". Quindi devi sapere quali sono i campi e quali nomi hanno. E per questo non esiste uno "standard". Devi andare con il browser sul sito a cui vuoi collegarti, analizzare il sorgente della pagina che contiene il <form>, analizzare i campi e quindi determinare cosa inviare e a quale URL.
E comunque, per terminare, in sintesi un approccio tipico in Java potrebbe essere (lo scrivo molto abbozzato):
codice:
String username = .....;
String password = .....;
// ....
String body = URLEncoder.encode("nomeDelCampoUsername", "UTF-8") + "=" +
URLEncoder.encode(username, "UTF-8") + "&" +
URLEncoder.encode("nomeDelCampoPassword", "UTF-8") + "=" +
URLEncoder.encode(password, "UTF-8");
URL url = new URL("https://.......");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
OutputStreamWriter osw = new OutputStreamWriter(conn.getOutputStream(), "US-ASCII");
osw.write(body);
osw.flush();
// .... lettura response ....