curl 간단하게 사용하기(GET, POST)
마스터욱
0
13
0
0
2018-03-22 00:42:17
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | public function get_curl($param){ //print_r($param);exit; $ch = curl_init(); #접속할 URL 주소 curl_setopt($ch, CURLOPT_URL, $param['url']); #FALSE 를 설정하면 cURL는 서버 인증서의 유효성을 검사하지 않습니다.#다른 인증를 CURLOPT_CAINFO 옵션 지정하거나 CURLOPT_CAPATH 옵션 증명서 디렉토리를 지정합니다. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); #SSL 버젼 지정. 기본값은 2 #curl_setopt ($ch, CURLOPT_SSLVERSION,1); #TRUE 를 설정하면 헤더의 내용을 출력합니다. #curl_setopt($ch, CURLOPT_HEADER, 1); #HTTP 요청에서 사용되는 "User - Agent :" 헤더의 내용. curl_setopt($ch, CURLOPT_USERAGENT, CURL_AGENT); if($param['cookie']){ #curl_close 호출 될 때 쿠키를 파일 이름으로 저장. curl_setopt($ch, CURLOPT_COOKIEJAR, CURL_COOKIE); #쿠키의 데이터를 http 헤더를 통해 보낸다. curl_setopt($ch, CURLOPT_COOKIEFILE, CURL_COOKIE); } #POST 로 데이터 전송. #TRUE 를 설정하면 HTTP POST를 수행합니다. POST는 application / x - www - form - urlencoded 식으로 이루어집니다. 이것은 일반적인 HTML 양식과 같은 형식입니다. if($param['post_data']){ curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $param['post_data']); } #최대 실행 시간(초) curl_setopt($ch, CURLOPT_TIMEOUT, 30); #TRUE 를 설정하면 curl_exec () 의 반환 값을 문자열로 반환합니다. 일반적으로 데이터를 직접 출력합니다. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); curl_close($ch); return $result; } | cs |
사용방법 예시)
$string = get_curl(array(
"url" => "크롤링 URL",
"cookie" => false, //쿠키 사용안하면 false(로그인, 로그아웃이 필요한 크롤링의 경우)
"post_data" => $post_data //post 데이터를 던져야 할 경우, 데이터값을 배열로 주면 됨
));