웹스쿨

curl 간단하게 사용하기(GET, POST) 본문

개발 경험 Tip/PHP

curl 간단하게 사용하기(GET, POST)

마스터욱 2023. 3. 31. 00:19
반응형

 

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 데이터를 던져야 할 경우, 데이터값을 배열로 주면 됨

));


이 게시글은
https://webschool.kr/?v=board_view&board_key=7&idx=428
에서 작성한 글입니다. 소스코드의 경우 해당 블로그에서 이뿌게 노출이 되지 않을 수 있사오니, 위 링크로 들어오셔서 보시길 바랍니다.

반응형

'개발 경험 Tip > PHP' 카테고리의 다른 글

flush() 를 이용한 실시간 출력  (0) 2023.03.31
PHPExcel 를 이용한 엑셀파싱  (0) 2023.03.31
curl 로 로그인 뚫기  (0) 2023.03.31
POST 데이터 제한이 .htaccess 수정사항  (0) 2023.03.31
CSV 컨버팅 삽질 메모  (0) 2023.03.31