사이트 내 전체검색
PHP
웹서버로 부터 XML 값을 받아오자
로빈아빠
https://cmd.kr/php/748 URL이 복사되었습니다.

본문

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로 변경하는 예제를 올려드리겠습니다.^^
더 좋은방법있으시면 글 남겨주세요
크리에이티브 커먼즈 라이선스
Creative Commons License

댓글목록

등록된 댓글이 없습니다.

PHP
871 (5/18P)

Search

Copyright © Cmd 명령어 18.191.239.235