웹서버로 부터 XML 값을 받아오자
로빈아빠
본문
PHP 4.x에서 테스트 했습니다.
<?php
function getXML($query){
//웹서버 주소
$host = "아이피";
$port = 포트;
$service_uri = "파일명";
$param = "query=" . urlencode($query) . "&target=popword";
$getXmlData = getHtmls($host, $port, $service_uri, $param);
return $getXmlData;
}
/**
* 웹서버로 부터 xml 결과값을 가져온다
* @param host 웹서버 IP
* @param port 웨서버 port
* @param service_uri 파일명
* @param param 전달인자
* @return 웹서버로터의 결과 xml 값
*/
function getHtmls($host, $port, $service_uri, $param){
# compose HTTP request header
$header = "Host: " . $host . "\r\n";
$header .= "User-Agent: PHP Script\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " .strlen($param). "\r\n";
$header .= "Connection: close\r\n\r\n";
// 파일 소켓 오픈
$fp = fsockopen($host, $port, $errno, $errstr, 10);
if (!$fp) {
//echo "$errstr ($errno)<br/>\n";
//echo $fp;
} else {
fputs($fp, "POST $service_uri HTTP/1.1\r\n");
fputs($fp, $header.$param);
// 헤더 부분을 구한다.
$_header = ""; // 헤더의 내용을 초기화 한다.
while(trim($buffer = fgets($fp,1024)) != "") {
$_header .= $buffer;
}
// 바디 부분을 구한다.
$body="";
while(!feof($fp)) {
$body .= fgets($fp, 1024);
}
// 바디 값만 리턴
fclose($fp);
return $body;
}
}
?>
ASP.NET에 이은 PHP로 XML값을 받아오는 소스입니다.
다음에는 xslt로 변경하는 예제를 올려드리겠습니다.^^
더 좋은방법있으시면 글 남겨주세요
크리에이티브 커먼즈 라이선스
<?php
function getXML($query){
//웹서버 주소
$host = "아이피";
$port = 포트;
$service_uri = "파일명";
$param = "query=" . urlencode($query) . "&target=popword";
$getXmlData = getHtmls($host, $port, $service_uri, $param);
return $getXmlData;
}
/**
* 웹서버로 부터 xml 결과값을 가져온다
* @param host 웹서버 IP
* @param port 웨서버 port
* @param service_uri 파일명
* @param param 전달인자
* @return 웹서버로터의 결과 xml 값
*/
function getHtmls($host, $port, $service_uri, $param){
# compose HTTP request header
$header = "Host: " . $host . "\r\n";
$header .= "User-Agent: PHP Script\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " .strlen($param). "\r\n";
$header .= "Connection: close\r\n\r\n";
// 파일 소켓 오픈
$fp = fsockopen($host, $port, $errno, $errstr, 10);
if (!$fp) {
//echo "$errstr ($errno)<br/>\n";
//echo $fp;
} else {
fputs($fp, "POST $service_uri HTTP/1.1\r\n");
fputs($fp, $header.$param);
// 헤더 부분을 구한다.
$_header = ""; // 헤더의 내용을 초기화 한다.
while(trim($buffer = fgets($fp,1024)) != "") {
$_header .= $buffer;
}
// 바디 부분을 구한다.
$body="";
while(!feof($fp)) {
$body .= fgets($fp, 1024);
}
// 바디 값만 리턴
fclose($fp);
return $body;
}
}
?>
ASP.NET에 이은 PHP로 XML값을 받아오는 소스입니다.
다음에는 xslt로 변경하는 예제를 올려드리겠습니다.^^
더 좋은방법있으시면 글 남겨주세요
크리에이티브 커먼즈 라이선스
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.
관련링크
댓글목록
등록된 댓글이 없습니다.