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 |