944 063 154

Blog

Solución al error HTTP/1.1: 417 Expectation Failed Connection: close Content-Length: 0 en PHP con cURL

Publicado enDesarrollo y Programación

Es normal que cuando desarrollamos con PHP  hagamos uso de la librería cURL para hacer peticiones HTTP POST. Y, en cada uno de estos intentos, también es muy común que se produzcan algunos errores. Como ejemplo de ello, podemos encontrarnos algunos errores al mostrar las cabeceras de respuesta. Algo similar a esto: “HTTP/1.1 417 Expectation Failed Connection: close Content-Length: 0. Este error se produce como consecuencia de la imposibilidad de procesarse la solicitud; generalmente debido a que la sintaxis de PHP o de cURL, o de ambas, no son correctas.

Cómo solucionar el error HTTP/1.1: 417

La solución a este problema es enviar el campo Expect, una extensión que nos permite interactuar con diferentes procesos utilizando para ello PTY. Una buena utilización de expect favorece una interfaz más visual y sencilla. Pero, volviendo al error HTTP/1.1. para poder corregirlo basta con enviarlo vacío dentro de las cabeceras HTTP de la petición que se va a realizar. Lo vemos en el siguiente ejemplo:


$ch = curl_init();

//metemos el campo expect en la cabeceras

curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers = array( "Expect:"));

En otras ocaciones, puede producirse un error HTTP/1.1 si se utiliza una cuenta IUSR como si de un dominio se tratase. Entonces, aparecerá el error ya que el controlador de dominios no puede autenticar la cuenta; evidentemente, ya que no se trata de un dominio. Si este es tu caso tendrás que editar las cuentas que se muestran para poder leer el nombre de dominio.

Como siempre, no dudes en pasarte por nuestro blog para consultar cualquier posible duda que tengas en relación a cualquiera de nuestros servicios. Pero también puedes leernos para enterarte de las últimas novedades tecnológicas; desde el futuro de las aplicaciones móviles: PWA, todo lo referente a la tecnología cloud, incluso la nueva versión de HTTP.