Pregunta

Estoy haciendo algo de automatización para un cliente y estaba planeando ejecutar algunos scripts php a través de cURL en el proceso. Sin embargo, las URL que funcionan bien en un navegador aparecen 404 cuando cURL las golpea. He visto mencionar en otros lugares que algunos servidores están configurados para bloquear cURL de esta manera.

¿Es esta una configuración que podría editar en httpd.conf ? No parece estar en php.ini .

Mi código es así:

  $url = "http://site.com/xxx/curl.php?cID=$c->cID&db=$c->db&un=$c->un&/";
  echo "$url";

  // spoofing FireFox 2.0
  $useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) 
    Gecko/20061204 Firefox/2.0.0.1";
  $ch = curl_init ($url) ;
  curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1) ;
  curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
  $res = curl_exec ($ch);

Cuando hago eco de $ res obtengo el código de la página de error 404 predeterminada. Si copio el $ url echo y lo pego en el navegador, obtengo la página correcta. También intenté usar la ruta relativa y la ruta completa del servidor.

La suplantación de agente de usuario se agregó hoy para tratar de ver si decir que no estaba cURL ayudaría, pero nada en la respuesta cambió.

¿Alguna idea sobre cómo rastrear la causa raíz de esto o mejor aún resolverlo?

¿Fue útil?

Solución

Resulta que la gente amable de The Planet tiene algunos problemas de enrutamiento interno con esta cuenta. Configuración de nombre de host incorrecta en / etc / sysconfig / network y resoluciones erróneas en /etc/resolv.conf, entre otras cosas. Este y otros sitios se migraron recientemente de uno de sus servidores a otro. Todavía no se ha solucionado, pero por eso el 404.

Gracias.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top