Вы можете подделать пользовательский агент при использовании cURL, поэтому это бессмысленно в зависимости от того, пользовательский агент отправляется, когда вы ЗНАЕТЕ, что это запрос cURL.
Например: я недавно написалприложение, которое получает PageRank URL от Google.Сейчас Google это не нравится, поэтому он разрешает доступ к своим серверам PageRank только определенному пользовательскому агенту.Решение?Поддать пользовательский агент, используя cURL, и Google не станет мудрее.
Мораль истории: пользовательские агенты cURL просто НЕ надежны.
Если вы все еще хотите это сделать, то выдолжен иметь возможность получить переданный пользовательский агент, как обычно
$userAgent=$_SERVER['HTTP_USER_AGENT'];
EDIT Быстрый тест подтвердил это:
dumpx.php:
<?php
$url="http://localhost/dump.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
if($_GET['u']==y) {
curl_setopt($ch, CURLOPT_USERAGENT, "booyah!");
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
//curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'GET');
curl_setopt ($ch, CURLOPT_HEADER, 0);
$exec=curl_exec ($ch);
?>
dump.php:
<?php
var_dump($_SERVER);
?>
Дело 1: http://localhost/dumpx.php?u=y
'HTTP_USER_AGENT' => string 'booyah!' (length=7)
Дело 2: http://localhost/dumpx.php?u=n
Нет $ _SERVER ['HTTP_USER_AGENT']
Это доказывает, что пользовательского агента по умолчанию для curl не существует: он просто не будет передавать его в заголовке запроса