Question

Je suis en train d'automatiser un client et j'avais l'intention de lancer quelques scripts php via cURL. Toutefois, les URL qui fonctionnent correctement dans un navigateur apparaissent 404 lorsqu'elles sont touchées par cURL. J'ai vu ailleurs que certains serveurs sont configurés pour bloquer cURL de cette manière.

Est-ce un paramètre que je pourrais modifier dans httpd.conf ? Ne semble pas être dans php.ini .

Mon code est comme suit:

  $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);

Lorsque je répète $ res , je récupère le code de la page d'erreur 404 par défaut. Si je copie l'URL $ echoed et le colle dans le navigateur, la page est correcte. Vous avez également essayé d'utiliser le chemin relatif et le chemin complet du serveur.

L’usurpation d’agent utilisateur a été ajoutée aujourd’hui pour tenter de déterminer si le fait de dire que je n’étais pas cURL aiderait, mais que rien dans la réponse ne change.

Avez-vous des idées sur la façon de localiser la cause première de ce problème ou, mieux encore, de le résoudre?

Était-ce utile?

La solution

Il s’avère que les utilisateurs de The Planet ont des problèmes d’acheminement interne avec ce compte. Mauvais paramètres de nom d’hôte dans / etc / sysconfig / network et résolutions incorrectes dans /etc/resolv.conf, entre autres. Ce site et un certain nombre d'autres sites ont récemment été migrés d'un de leurs serveurs vers un autre. Pas encore résolu, mais c’est la raison pour laquelle le 404.

Merci.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top