PDA

Visualizza la versione completa : Java Https Post


RBR
22-10-2003, 10:06
Ho un grande problema. Devo inviare dati su https in mutua esclusione utilizzando Java, non capisco perchè mi sollevi un'eccezione nella creazione dello stream di output. Mi potetet aiutare?
Il codice è il seguente:

Integer iPort = new Integer( port );

setHttpsProperty();
/*
* send http request
*/
System.out.println("DEBUG => Prendo URL");
URL url = new URL( "https://" + host + ":" + iPort.toString() + path );
System.out.println("DEBUG => URL: " + url);
HttpsURLConnection httpsurl = new HttpsURLConnection(url);
System.out.println("L'URL in https e': " +httpsurl);
System.out.println("DEBUG =>Apro la connessione");
URLConnection conn = url.openConnection();
System.out.println("DEBUG => Connessione aperta: "+ conn);
conn.setDoOutput( true );
System.out.println("Settato il DoOutPut!");
conn.setUseCaches( false );
System.out.println("Settato il UseCache!");
conn.setAllowUserInteraction( false );
System.out.println("Settato il AllowUserInteraction!");

System.out.println("DEBUG => Creo l'outstream sulla connessione: "+conn);
conn.connect();
//outstream = conn.getOutputStream();
//System.out.println("DEBUG => Creato l'outstream!");
//OutputStreamWriter outstreamwrite = new OutputStreamWriter (outstream);
//System.out.println("DEBUG => creato l'outputstreamwriter: " +outstreamwrite);
//PrintWriter out = new PrintWriter(new BufferedWriter(outstreamwrite));
PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter( conn.getOutputStream() ) ) );
out.println( "POST " + path + " HTTP/1.1" );
out.println( "Content-Type: text/xml" );
out.println( "User-Agent: Java/1.4.1_02" );
out.println( "Host: " + host + ":" + iPort.toString() );
out.println( "Connection: keep-alive" )

Popper
22-10-2003, 11:58
hai del codice commentato... qual'e' la riga che ti solleva l'eccezione? Che eccezione ti solleva? posta tutto lo standard output!

RBR
22-10-2003, 12:12
la riga che mi solleva l'eccezione è nella creazione del outputstream
outstream = conn.getOutputStream();
OutputStreamWriter outstreamwrite = new OutputStreamWriter (outstream);

Grazie

Popper
22-10-2003, 16:55
il tipo di eccezione sollevata ?

RBR
22-10-2003, 18:15
L'eccezione è:

IOException: HTTPS hostname wrong: should be <...>


Qualke idea?
grazie ::))

Popper
23-10-2003, 16:44
la riga
System.out.println("DEBUG => URL: " + url);

cosa ti mostra a schermo?

RBR
23-10-2003, 17:01
la url corretta di collegamento comprensiva di porta e path

Loading