Estoy tratando de conectarme a una URL desde una aplicación de escritorio, y aparece el error indicado en el título de mi pregunta, pero cuando intenté conectarme a la misma URL del servlet, todo funciona bien. Cuando cargo la URL desde el navegador, todo funciona bien. Estoy usando el mismo código en el servlet. El código estaba en una biblioteca, cuando no funcionaba, saqué el código a una clase en el proyecto actual, pero no funcionó.URLConnection Error - java.io.IOException: El servidor devolvió el código de respuesta HTTP: 400 para la dirección URL
La URL https://graph.facebook.com/me.
El fragmento de código.
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();
}
Estoy un poco confundido aquí, ¿hay algo que esté presente es un servlet que no es una aplicación de escritorio normal?
Gracias.
pila completa 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)
Sospecho que Https puede causar problemas. Pero proporcione su excepción completa stacktrace – Bozho