Так вы шлете "site.ru/text?AAA=$a&BBB=$b&CCC=$c" как POST параметры. Конечно сервер будет ругаться.
Вам нужно сделать так:
$send = array(
'aaa' => $a,
'bbb' => $b,
'ccc' => $c
);
$myCurl = curl_init();
curl_setopt_array($myCurl, array(
CURLOPT_URL => 'http://site.ru/text/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query(array($send))
));
$response = curl_exec($myCurl);
curl_close($myCurl);
echo "Ответ на Ваш запрос: ".$response;
Дополню:
CURLOPT_URL - тут вы указываете URL на который нужно слать запрос, у вас тут все верно
CURLOPT_POSTFIELDS - тут нужно указывать ТЕЛО запроса, а вы передавали сюда весь URL. Функция http_build_query по-сути просто собирает массив в последовательность "aaa=$a&bbb=$b" (это если грубо)
Возможно вам не нужен метод POST? Если при вставке в браузер у вас "site.ru/text?AAA=$a&BBB=$b&CCC=$c" работает правильно, то может вам нужен GET запрос? Для GET можно просто использовать
file_get_contents($url); например.