본문 바로가기

IT이야기/php

CURL 사용하기! 그리고 JSON

 

    $url = "원하는 곳 url 입력";

    $post_data["변수1"] = "받는쪽 변수1";
    $post_data["변수2"] = $받는쪽 변수 2;
    

   //변수는 받는쪽 url에 맞춰서 사용 할 수 있음. 받는쪽에서 POST로 정의 하고 그곳으로 보내면 

     해결. 다른 서버 뿐 아니라 같은 php 로컬 내에서도 사용 가능하다.


    $curlsession = curl_init ();
    curl_setopt ($curlsession, CURLOPT_URL, $url);
    curl_setopt ($curlsession, CURLOPT_POST, 1);
    curl_setopt ($curlsession, CURLOPT_POSTFIELDS, http_build_query($post_data, '', '&'));
    curl_setopt ($curlsession, CURLOPT_CONNECTTIMEOUT,10);
    curl_setopt ($curlsession, CURLOPT_RETURNTRANSFER, 1);  //1을 0으로 바꾸면 값들을 출력함.
    

    $res = curl_exec ($curlsession);  //세션 값을 res라는 변수에 집어넣은것.

    curl_close($curlsession);

    $rst = json_decode($res,true);   //$res에 들어있는 json값을 변환한것.

해당 값을 어떻게 사용하느냐

 

$rst["test1'] 이런식으로 바로 가져와서 사용할 수 있다.

 

여기서 json object랑 json array중 무엇으로 넘어오는지 봐야함

 

위의경우는 json array로 넘어온 경우임.

 

이런경우 json으로 규정해준 변수를 $rst["test1'] 이런형태로 바로 쓸 수 있다.

 

그러면 json object로 되있는경우는 어떡할까?

 

 

    $url = "원하는 곳 url 입력";

    $post_data["변수1"] = "받는쪽 변수1"; 
    $post_data["변수2"] = $받는쪽 변수 2; 


    
    $curlsession = curl_init ();
    curl_setopt ($curlsession, CURLOPT_URL, $url);
    curl_setopt ($curlsession, CURLOPT_POST, 1);
    curl_setopt ($curlsession, CURLOPT_POSTFIELDS, http_build_query($post_data, '', '&'));
    curl_setopt ($curlsession, CURLOPT_CONNECTTIMEOUT,10);
    curl_setopt ($curlsession, CURLOPT_RETURNTRANSFER, 1);
    $res = curl_exec ($curlsession);
    
    $rst = json_decode($res);

 

for($i=0;$i<count($rst->DATA);$i++) {
  $rst->DATA[$i]->test1 //test1 변수값을 사용.

}

 

이런식 형태로 가져올 수 있음

 

DATA는 당연히 배열이며 $i는 0~원하는 만큼까지의 값을 가져오기 위한것.

 

대충 그러하다.

 

 

'IT이야기 > php' 카테고리의 다른 글

php 사용자 정의 함수  (0) 2020.02.28
php 함수!  (0) 2020.02.27
php] if 축약형 ? :  (0) 2020.02.02
php 언어셋 변환! euc-kr, utf-8  (0) 2020.01.26
외부 url로 파라미터(값)넘기기! Curl!  (0) 2020.01.24