Código de respuesta inesperado para CONNECT: 400
Algunos de mis usuarios están recibiendo esta excepción mucho cuando están intentando conectarse.
java.io.IOException: Unexpected response code for CONNECT: 400 at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeTunnel(HttpsURLConnectionImpl.java:509) at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:463) at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:442) at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290) at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240) at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81) at libcore.net.http.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:165)
400 significa mala solicitud, pero la misma solicitud tiene éxito después de unos segundos. He comprobado la solicitud y no hay nada malo en ella. También he comprobado con los registros del servidor y parece que la solicitud aún no ha llegado a nuestro servidor.
- HttpURLConnection no descomprimir Gzip
- Pasar parámetros con HttpURLConnection
- Obtener el objeto JSON desde URL utilizando HTTPURLConnection en android
- Cadena de resultados de Android HttpUrlConnection truncada
- Longitud de chunk predeterminada de Android HttpURLConnection.setChunkedStreamingMode ()?
Estoy usando un simple HttpUrlConnection
para conectar.
URL connectURL = new URL(url); HttpURLConnection conn = (HttpURLConnection) connectURL.openConnection(); conn.setDoInput(true); conn.setDoOutput(true); conn.setUseCaches(false); conn.setInstanceFollowRedirects(true); conn.setReadTimeout(30000); conn.setConnectTimeout(15000); conn.setRequestMethod("POST"); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); connection.setRequestProperty("Accept-Encoding", "deflate, gzip"); connection.setRequestProperty("Content-Length", postParameters.length() + ""); conn.connect(); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(mRequestObj.getPostParameters()); writer.flush(); writer.close(); responseCode = conn.getResponseCode(); BufferedInputStream bis = null; try { bis = new BufferedInputStream(conn.getInputStream()); } catch(IOException io) { if(conn.getErrorStream() != null) bis = new BufferedInputStream(conn.getErrorStream()); else throw io; } ...
¿Alguien más se enfrentó a este problema? ¿Algo que pueda ayudar?
- ¿Cómo se persisten las cookies cuando se utiliza HTTPUrlConnection?
- Android descargar problemas de archivo binario
- HTTPURLConnection - POST multipart / form-data con archivo grande con FixedLengthStreamingMode
- ¿Por qué HttpURLConnection de Android no devuelve FIN?
- URLConnection getContentLength () devuelve un valor negativo
- HttpURLConnection - "https: //" frente a "http: //"
- Android: HttpsUrlConnection con autenticador para la autenticación básica itera siempre cuando la contraseña es incorrecta (en la respuesta 401)
- Android: Cómo iniciar sesión en la página web mediante programación, mediante HttpsURLConnection
Es una vieja pregunta, pero tal vez alguien lo encontrará útil.
Se lanzó una excepción debido a que el proxy tunneling falló por alguna razón. Es por eso que su servidor web no muestra nada, no fue alcanzado en absoluto.
La siguiente descripción se refiere al tipo de método CONNECT:
Esta especificación reserva el nombre del método CONNECT para su uso con un proxy que puede cambiar dinámicamente a ser un túnel
Se copió de la especificación HTTP .
Desafortunadamente, no puedes hacer mucho al respecto, a menos que tengas control sobre el servidor proxy. Lo que puede hacer es detectar una excepción y volver a intentar la conexión.
- El teclado oculta la barra de acción mientras usa adjustPan
- Paquete com.facebook no existe, Facebook Android SDK, IntelliJ Idea