2009-12-09 3 views
2

정보를 다른 공급자의 서버로 보내야하는 게이트웨이 스크립트를 개발 중이며 코드를 디버깅해야합니다.Apache에서 CURL/XML 데이터를 캡처하는 방법은 무엇입니까?

내 자신의 Linux + Apache + PHP 서버에서이 스크립트의 CURL/XML 데이터를 캡처하는 방법이 있습니까?

스크립트에서 $ _POST, $ _GET 또는 $ _REQUEST 데이터를 볼 수있는 PHP로 알고 있지만 CURL을 사용하면 실제로 브라우저에서 http://intranet/capture.php 스크립트에 도달하지 않습니다. 일하지 마라.

서버에 전달 된 모든 것을 캡처하여 데이터베이스/플랫 파일로 덤프하는 스크립트가있는 다른 방법이 있습니까?

난 모니터링은/var/로그/HTTP/access_log를 리눅스 서버에,하지만 너무

을 공개하지 않았다 시도, 어떻게 서버가보고로 CURL 스크립트, 정확히 무엇을 볼 수 있습니다 그것?

+0

당신은 무엇을 의미합니까? "하지만 CURL을 사용하면 브라우저의 http : //intranet/capture.php 스크립트에 실제로 도달하지 못하므로 작동하지 않습니다." –

답변

1

당신이 시도 할 수있는 것은 이것입니다. 이것은 당신이 무엇을 의미하는지 경우

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

는 잘 모르겠어요하지만 (일종의) 당신은 컬

$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); 

나는 희망의 출력을보고 싶어

컬과 동일하지 이것이 의미하는 것입니다.

0

이 경우 클라이언트는 클라이언트이고 공급자의 서버는 서버입니다.

클라이언트에서 curl 명령을 실행한다고 가정하면 Robert Cabri가 말한 것입니다.

서버에서 수신 한 내용을 살펴 보려면 적절한 액세스 권한이 있어야하며 요청을 처리하기 위해 서버가 실행중인 응용 프로그램 스택을 알아야합니다.

관련 문제