반응형
cURL은 PHP 에서 외부 API에 접근하여 데이터를 가져오려고 할때 많이 사용합니다.
cURL 이란?
PHP cURL은 PHP 프로그래밍 언어에서 사용되는 내장 함수 중 하나입니다. cURL은 "Client URL Library"의 약자로, 웹 서버나 FTP 서버 등과 통신하기 위한 라이브러리입니다.
cURL을 사용하면 PHP 코드에서 다른 서버로 HTTP 요청을 보내거나 파일을 다운로드하고 업로드하는 등의 작업을 수행할 수 있습니다.
PHP cURL 사용 방법
1. cURL 세션 초기화
$curl = curl_init();
2. 옵션 설정
다양한 옵션을 설정하여 요청을 조정할 수 있습니다. 예를 들어, 요청 URL, 요청 방법(GET, POST 등), 요청 헤더, 요청 본문 등을 설정할 수 있습니다.
curl_setopt($curl, CURLOPT_URL, 'http://example.com/api');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // 응답을 변수에 저장
curl_setopt($curl, CURLOPT_POST, true); // POST 요청 설정
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postData)); // POST 데이터 설정
3.요청 실행
$response = curl_exec($curl);
4. cURL 세션 종료
curl_close($curl);
함수로 만들어서 사용하면 좋습니다.
//데이터 크롤링
//$html = GetHTML("https://www.naver.com");
function GetHTML($url){
$headers = array(
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"Host: www.rda.go.kr",
"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
);
$Curl = curl_init();
//curl_setopt($Curl, CURLOPT_URL, "https://www.rda.go.kr/board/board.do?prgId=day_farmprmninfoEntry&boardId=farmprmninfo&searchKey=&searchVal=&mode=list&searchSDate=&searchEDate=&searchOrgDeptKey=org&searchOrgDeptVal=&currPage=1");
curl_setopt($Curl, CURLOPT_URL, $url);
curl_setopt($Curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($Curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($Curl, CURLOPT_HTTPHEADER, $headers);
$Result = curl_exec($Curl);
//return str_replace("<", "", $Result);
return $Result;
}
//url, param 파싱
// PasingParam("https://www.rda.go.kr/board/board.do?prgId=day_farmprmninfoEntry&boardId=farmprmninfo")
// 파라메터 (키, 값) 으로 출력 : prgId, boardId
function PasingParam($url_param)
{
//echo $url_param . "<br>\r\n";
$arParams = array();
$arData1 = preg_split('/([?|&])/', $url_param, -1); //정규식
//print_r($arData1);
foreach($arData1 as $data)
{
//echo $data . "<br>\r\n";
$arData2 = explode("=", $data);
if(2 == count($arData2))
{
$key = trim($arData2[0]);
$val = trim($arData2[1]);
$arParams[$key] = $val;
}
}
return $arParams;
}
반응형
'PHP' 카테고리의 다른 글
카페24 웹호스팅(apm)에서 외부 MSSQL 접속후 데이터 가져오기 (0) | 2025.03.24 |
---|---|
윈도우 PHP 서버에서 TesseractOCR 실행하기 (2) | 2024.09.27 |
웹에디터(SmartEditor2) 에 이미지 복사 붙여넣기후 PHP 서버에 저장 및 경로변경 (2) | 2024.07.23 |
php 에서 xml 데이터를 제대로 파싱하지 못하는 경우 확인해 볼것 (2) | 2024.06.28 |
PHP 출력 <<< EOF 내에서 함수 사용하기 (0) | 2023.08.24 |