Сервер настроен на отправку 404 запросов от cURL?
-
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-й.
Спасибо.