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