Sto provando a connettermi a un URL da un'app desktop e ottengo l'errore indicato nel titolo della mia domanda, ma quando provato a connettersi allo stesso URL dal servlet, tutto funziona bene. Quando carico l'URL dal browser, tutto funziona correttamente. Sto usando lo stesso codice nel servlet. Il codice era in una libreria, quando non funzionava, ho estratto il codice in una classe del progetto corrente, ma non ha funzionato.Errore URLConnection - java.io.IOException: il server ha restituito il codice di risposta HTTP: 400 per l'URL
L'URL https://graph.facebook.com/me.
Il frammento di codice.
public static String post(String urlSpec, String data) throws Exception {
URL url = new URL(urlSpec);
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
writer.write(data);
writer.flush();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line = "";
StringBuilder builder = new StringBuilder();
while((line = reader.readLine()) != null) {
builder.append(line);
}
return builder.toString();
}
Sono un po 'confuso qui, c'è qualcosa che è presente è un servlet che non è una normale applicazione desktop?
Grazie.
stack completo TRACE
Feb 8, 2011 9:54:14 AM com.trinisoftinc.jiraffe.objects.FacebookAlbum create
SEVERE: null
java.io.IOException: Server returned HTTP response code: 400 for URL: https://graph.facebook.com/me
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1313)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)
at com.jiraffe.helpers.Util.post(Util.java:49)
at com.trinisoftinc.jiraffe.objects.FacebookAlbum.create(FacebookAlbum.java:211)
at com.trinisoftinc.jiraffe.objects.FacebookAlbum.main(FacebookAlbum.java:261)
Sospetto che Https possa causare problemi. Ma dai la tua piena eccezione stacktrace – Bozho