Estoy tratando de enviar una petición post con las cookies. Este es el código:

try {

    String query = URLEncoder.encode("key", "UTF-8") + "=" + URLEncoder.encode("value", "UTF-8");
    String cookies = "session_cookie=value";
    URL url = new URL("https://myweb");
    HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();

    conn.setRequestProperty("Cookie", cookies);
    conn.setRequestMethod("POST");
    conn.setDoInput(true);
    conn.setDoOutput(true);

    DataOutputStream out = new DataOutputStream(conn.getOutputStream());
    out.writeBytes(query);
    out.flush();
    out.close();

    BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    String decodedString;
    while ((decodedString = in.readLine()) != null) {
        System.out.println(decodedString);
    }
    in.close();

    //Send the request to the server
    //conn.connect();
} catch (MalformedURLException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

El problema es que la solicitud se envía sin las cookies. Si sólo pongo:
conn.conectar(); y no enviar los datos, el envío de cookies ACEPTAR.
De los que no puedo ver exactamente lo que está sucediendo, porque la conexión es por medio de SSL. Yo solo marque la respuesta.

OriginalEl autor Alberto | 2011-04-03

1 Comentario

  1. 6

    De acuerdo a la URLConnection javadoc:

    The following methods are used to access the header fields and the 
    contents AFTER the connection is made to the remote object:
    
    * getContent
    * getHeaderField
    * getInputStream
    * getOutputStream

    Han confirmado que, en su caso de prueba por encima de la petición es llegar a el servidor? Veo que tiene la llamada a connect() después de getOutputStream() y comentadas, además de. ¿Qué sucede si usted quita el comentario y subir antes de la llamada a getOutputStream() ?

    Gracias! He intentado de nuevo reescribir el código php en el servidor, y funcionó perfecto. El código que he publicado fue ACEPTAR. Creo que el problema estaba en el servidor (que escribí $_POST[$clave] en lugar de $_POST[‘clave’] o algo así..).

    OriginalEl autor QuantumMechanic

Dejar respuesta

Please enter your comment!
Please enter your name here