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통신과 동시에 결과 코드가 변수에 담기지 않고 화면에 바로 뿌려지기 때문에,

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

추천 0 비추천 0
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 밴드 보내기
  • 블로그 보내기
  • 폴라 보내기
  • 카카오스토리 보내기
  • 텔레그램 보내기
  • 텀블러 보내기
댓글 0

PHP

RSS
번호 제목 글쓴이 날짜 추천 비추천
상단으로