curl을 이용하여 post, get 방식 으로 데이터 전송하기 > 정보공유

본문 바로가기

정보공유

일반글
PHP

curl을 이용하여 post, get 방식 으로 데이터 전송하기

페이지 정보

게시물QR코드

본문

GET과 POST에 대해 간단하게 논하겠습니다.


GET은 눈에 보이는것, POST는 눈에 보이지 않는것이라 생각하면 됩니다.

즉 GET은 주소창에 http://gnuwiz.com/?a=1&b=2 와 같이 브라우져의 주소줄에 ? 다음에 변수값들을 넣는 방식이고,

POST는 form전송과 같이 필드값으로 던져주는 형식입니다.

즉 일반 브라우져 화면에서는 볼 수 없습니다.

브라우져의 개발자모드를 통해서 확인 가능합니다.


php로 curl을 이용하여 각자의 방식으로 전송하는 샘플코드를 먼저 보여드리겠습니다.

<?

// GET 방식 함수

function get($url, $params=array()) 

    $url = $url.'?'.http_build_query($params, '', '&');

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    $response = curl_exec($ch);

    curl_close($ch);

    return $response;

}


$get_data = array(

"field1" => "value1",

"field2" => "value2",

);

 

// get함수 호출

get('http://gnuwiz.com', $get_data);

 

 

// POST 방식 함수

function post($url, $fields)

{

    $post_field_string = http_build_query($fields, '', '&');

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_field_string);

    curl_setopt($ch, CURLOPT_POST, true);

    $response = curl_exec($ch);

    curl_close ($ch);

    return $response;

}


$post_data = array(

"field1" => "value1",

"field2" => "value2",

);

 

// post함수 호출

post('http://gnuwiz.com', $post_data);

?>



curl에 보시면 setopt 에 CURLOPT_RETURNTRANSFER 라는 항목이 있습니다

이것을 선언 하지 않으면 curl통신과 동시에 결과 코드가 변수에 담기지 않고 화면에 바로 뿌려지기 때문에,

이렇게 변수에 결과값을 담을 필요가 있을 경우는 반드시 포함 해야 합니다.

댓글목록

등록된 댓글이 없습니다.

  • Addr.부산광역시 부산진구 중앙대로 666번길 50, 더샵센트럴스타 CEO. 이경애 Email. gnuwiz@naver.com
  • BR. 625-68-00172 TRC. 2019-부산해운대-1186 TEL. 0507-1382-2790
Copyright © 2017 ~ 그누위즈. All rights reserved.