Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102

    [JAVA] Collegarsi a un server con HTTPS e SSL

    Ciao, sono 5 giorni che mi sto cervellando in giro per capire come collegarmi a un server HTTPS utilizzando SSL. Devo eseguire una post inviando dei dati di login

    Col browser appare l'icona del certificato, però ho letto che java dovrebbe arrangiarsi su ste cose

    Durante le mie ricerche ho già provato ad usare sia la classe HttpsURLConnection che SSLSocket facendo la richiesta manuale ma senza nessun risultato

    Mi sapete indicare se effettivamente esistono già procedure che svolgono la gestione della connessione sicura in automatico?

    Grazie ciao

  2. #2
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    HttpsURLConnection sarebbe la strada giusta. Che problema hai?

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    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 ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Originariamente inviato da andbin
    È vero che HttpsURLConnection è la classe "concreta" che gestisce le funzionalità specifiche di HTTPS ma .... non è detto che ti interessi.
    Giusto, anzi è addirittura una classe astratta perché serve principalmente come interface.
    Basta avere un URL sia http che https e chiamare openConnection(), quello che ti viene restituito lo usi poi per la communicazione.


    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da neroux
    è addirittura una classe astratta
    Sì vero, mi stavo dimenticando che è astratta pure HttpsURLConnection.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102
    Continua a non andare.....

    Ho provato con

    HttpsURlConnection
    URLConnection
    SSLSocket

    non c'è verso... nell'ultimo caso addirittura mi ritorna un 504

  7. #7
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Come hai provato?

    Si fa usando java.net.URL

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102
    Come puoi vedere, una delle varianti ho utilizzato HttpsURLConnection

    Creo un oggetto URL con dentro l'URL da chiamare
    Creo un oggetto Https... con dentro URL.openConnection()

    Setto a POST il metodo di invio
    E attivo il doOutput

    Copio le request property così come le ho prese da firefox
    Avvio lo stream in uscita e invio i dati del post

    Quando vado a leggere l'header di risposta non c'è dentro (che in firefox c'è) le clausole Set-Cookie con dentro l'ID di sessione e altri valori

  9. #9
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Stai scrivendo un proxy?

    Potresti postare il codice? Avevo già scritto un proxy utilizzando l'URLConnection, quindi funziona ...

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    102
    Originariamente inviato da neroux
    Stai scrivendo un proxy?

    Potresti postare il codice? Avevo già scritto un proxy utilizzando l'URLConnection, quindi funziona ...
    Te l'ho mandato per PM tutto il codice , non ti è arrivato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.