Сервер настроен на отправку 404 запросов от cURL? - PullRequest
0 голосов
/ 12 сентября 2009

Я делаю некоторую автоматизацию для клиента и планировал запустить некоторые сценарии php через cURL. Однако URL, которые отлично работают в браузере, поднимаются до 404 при попадании в cURL. В других местах я упоминал, что некоторые серверы настроены таким образом, чтобы блокировать cURL.

Можно ли изменить эту настройку в httpd.conf? Кажется, не в php.ini.

Мой код такой:

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

Когда я повторяю $res, я получаю код со страницы ошибки 404 по умолчанию. Если я скопирую отраженный $ url и вставлю в браузер, я получу страницу нормально. Также попытался использовать относительный путь и полный путь к серверу.

Сегодня была добавлена ​​подмена пользовательского агента, чтобы попытаться выяснить, поможет ли утверждение, что я не cURL, но в ответе ничего не изменилось.

Есть мысли о том, как отследить первопричину этого или, что еще лучше, решить ее?

1 Ответ

1 голос
/ 16 сентября 2009

Оказывается, у добрых людей в The Planet есть некоторые внутренние проблемы маршрутизации с этой учетной записью. Неверные настройки имени хоста в / etc / sysconfig / network и неверные распознаватели в /etc/resolv.conf среди прочего. Этот и ряд других сайтов недавно были перенесены с одного их сервера на другой. Еще не исправлено, но именно поэтому 404.

Спасибо.

...