Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

650
Vistas
HTTP/1.1 426 Actualización requerida - file_get_contents (PHP) en el servidor Apache2 (debian 9)

Primera publicación aquí, me encuentro con un problema que no tenía cuando trabajaba en mi máquina local /w XAMPP.

He insertado un código PHP básico en mi VPS con una instalación nueva de Apache2 y PHP7, y uno de los archivos en realidad está haciendo un file_get_contents para hacer una solicitud GET en la API de Trello:

 $lists = json_decode(file_get_contents("https://api.trello.com/1/boards/<<HIDDEN>>/lists?key={$id}&token={$token}"), true);

El problema es que recibo esta respuesta HTTP al hacerlo:

 [Tue Aug 24 14:27:14.132294 2021] [:error] [pid 17956] [client <<HIDDEN>>] PHP Warning: file_get_contents(https://api.trello.com/1/boards/<<HIDDEN>>/lists?key=<<HIDDEN>>&amp;token=<<HIDDEN>>): failed to open stream: HTTP request failed! HTTP/1.1 426 Upgrade Required\r\n in <HIDDEN>/trello.php on line 7, referer: <<HIDDEN>>

Investigué un poco y vi que necesito actualizar la llamada a otro protocolo HTTP, pero hasta ahora, no tengo idea de cómo proceder...

¿Algún consejo, tip?

¡Gracias!

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Ok, todavía no tengo pistas sobre cómo arreglar eso usando file_get_contents , pero encontré una solución que parece funcionar usando curl .

Si algunas personas también tienen el problema, reemplacé la solicitud inicial con eso:

 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://api.trello.com/1/boards/<<HIDDEN>>/lists?key={$id}&token={$token}"); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2); curl_setopt($ch, CURLOPT_HTTPGET, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $lists = json_decode(curl_exec($ch), true); curl_close($ch);

Parece curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2); está haciendo el trabajo.

Eso no responde a la pregunta raíz (cómo hacer eso con file_get_contents ), pero si puede ayudar...

¡Gracias!

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda