Как захватить данные CURL / XML с Apache?

Я разрабатываю сценарий шлюза, который должен отправить информацию на сервер другого провайдера, и мне нужно отладить код.

Есть ли способ на моем собственном сервере Linux + Apache + PHP захватить данные CURL / XML из этого сценария?

Я знаю с помощью PHP, что я мог видеть, например, данные $_POST, $_GET или $_REQUEST в скрипте, но с CURL я фактически не могу получить доступ к скрипту http://intranet/capture.php в моем браузере - так что это не работает.

Есть ли другой способ, с помощью сценария на сервере, чтобы захватить все, что передано на сервер, и сбросить его в файл базы данных / плоский файл?

Я даже пытался отслеживать /var/logs/http/access_log на сервере Linux, но он мало что показал

Итак, как я могу увидеть, что делает скрипт CURL, именно так, как его видит сервер?

2 ответа

Что вы можете попробовать это

echo htmlentities(file_get_contents('http://intranet/capture.php'));

Я не уверен, что это то, что вы имеете в виду, но он делает то же самое, что и curl (вроде)

Вы хотите увидеть вывод curl

$ch = curl_init();    // initialize curl handle
curl_setopt($ch, CURLOPT_URL, $url ); // set url to post to
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
curl_setopt($ch, CURLOPT_TIMEOUT, 3); // times out after 4s
curl_setopt($ch, CURLOPT_POST, 1); // set POST method
$result = curl_exec($ch); // run the whole process
curl_close($ch);

echo htmlentities($result);

Я надеюсь, что это то, что вы имеете в виду

В этом случае вы являетесь клиентом, а сервер провайдера является сервером.

Предполагая, что вы запускаете команду curl с клиента, все, что вы можете получить, - это то, что сказал Роберт Кабри.

Если вы пытаетесь посмотреть, что получает сервер, вам нужно иметь соответствующий доступ, а также знать, какой стек приложений работает на сервере для обработки вашего запроса.

Другие вопросы по тегам