HTML 에서 PHP를 사용해서 API와 통신하고 JSON 파싱해야 할 경우가 있습니다.

API 헤더에 키값이 필요하다면 header도 이용을 해야 하는데요


php 에서 아주 간단하게 curl을 이용한 api통신하고 json 파싱까지 하는 방법을 짧게 설명 하겠습니다.

소스가 아주 간단해서 소스만 봐도 모든분이 설명필요 없이 아실것 같은데요

소스 먼저 소개를 할게용~


<?php
            $o_count = 0;
            $headers = array("Security-Key: 키값");
            
            $ch = curl_init();
            curl_setopt($ch , CURLOPT_URL , "http://test.com");
            curl_setopt($ch , CURLOPT_HEADER , 0 );
            curl_setopt($ch , CURLOPT_SSL_VERIFYPEER , 0 );
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
            $result = curl_exec($ch);
            
            curl_close($ch);
                
            $decode = json_decode($result, true);
            $array_c = $decode['list'];
            foreach($array_c as $key => $value){    
                    $ctitle = $value['Title'];
                    $cid = $value['Id'];
                    echo "
                    <form name='bWriteForm' action='quiz.php'  method='post' target='iframename' style='margin:0px;'>                    
                    <input type='text' name='camname' id='camname' value='$ctitle' style='font-size:9pt; width:300px;' >
                    <input type='text' name='camid' id='camid' value='$cid' style='font-size:9pt; width:300px;' >
                    <input type='submit' value='버튼'>               
                    
                    </form> <br/>";    
                    $o_count++;
                }    
            ?>


소스설명 :  $headers = array("Security-Key: 키값");

헤더에 키값이 필요한 경우가 있는데요 Security-Key 이부분을 api 와 정해진 규칙 name 으로 변경을 한 후

키값 이라는 곳에 키값을 입력해주시면 헤더는 준비가 되겠습니당


소스설명 :  curl_setopt($ch , CURLOPT_SSL_VERIFYPEER , 0 );

api 주소가 https:// 일 경우가 있습니다. 그럴경우 위에같이 설정을 해주셔야 통신이 가능합니다.


소스설명 :  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

위에 소스는 false 이면 네트워크 통신후 결과값이 그대로 출력이 되며 ture 일경우 출력이 되지않습니다.


소스설명:  $decode = json_decode($result, true);
            $array_c = $decode['list'];
            foreach($array_c as $key => $value){    
                    $ctitle = $value['Title'];
                    $cid = $value['Id'];

                 }    

위소스는 json 으로 넘어온 결과값을 for문을 이용한 jsonarray 값을 뽑아 출력하는 소스입니다.


간단하게 설명을 해드렸는데요 만약 잘 모르시거나 이해가 안가시는 부분은댓글로 남겨주시면

답변드리도록 하겠습니당~

'Web Language' 카테고리의 다른 글

[PHP] php post 파일 업로드 만들기  (0) 2015.01.07

+ Recent posts