Сервер настроен на отправку 404 запросов от cURL?

StackOverflow https://stackoverflow.com/questions/1413667

  •  06-07-2019
  •  | 
  •  

Вопрос

Я делаю некоторую автоматизацию для клиента и планировал запустить некоторые 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, но в ответе ничего не изменилось.

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

Это было полезно?

Решение

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

Спасибо.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top