웹 개발에서는 API 요청, 웹 페이지 크롤링 등 수시로 다른 서비스와 상호 작용해야 합니다. cURL은 HTTP 요청, FTP 업로드 및 다운로드와 같은 작업을 수행하는 데 사용할 수 있는 매우 강력한 도구입니다. PHP에서는 cURL 라이브러리를 사용하여 네트워크 요청을 할 수 있습니다.
이 글에서는 cURL 라이브러리를 사용하여 PHP에서 네트워크 요청을 하는 방법을 소개합니다.
먼저 서버에 cURL 확장 프로그램을 설치해야 합니다. Ubuntu에서는 다음 명령을 사용하여 설치할 수 있습니다.
sudo apt-get install php-curl
CentOS에서는 다음 명령을 사용하여 설치할 수 있습니다.
sudo yum install php-curl
설치가 완료된 후 다음 명령을 사용하여 확인할 수 있습니다.
php -i | grep -i curl
cURL 확장이 성공적으로 설치되었습니다. 출력 다음 정보가 포함되어야 합니다.
curl cURL support => enabled cURL Information => 7.50.1
GET 요청을 보내는 것이 가장 간단한 요청 방법입니다. PHP에서는 컬_init() 함수를 사용하여 초기화하고, 컬_setopt() 함수를 사용하여 요청 매개변수를 설정하고, 마지막으로 컬_exec() 함수를 사용하여 요청을 보낼 수 있습니다. 다음은 GET 요청을 보내는 간단한 예입니다.
$url = 'https://example.com/api/get_data'; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); echo $response;
위 코드에서는 먼저 요청된 URL을 정의합니다. 그런 다음 컬_init() 함수를 사용하여 cURL 세션을 초기화하고 요청 URL을 매개변수로 전달합니다. 그런 다음 컬_setopt() 함수를 사용하여 CURLOPT_RETURNTRANSFER 매개변수를 true로 설정하여 요청 결과가 반환되어야 함을 나타냅니다. 마지막으로, 컬_exec() 함수를 사용하여 요청을 보내고 결과를 $response 변수에 저장합니다. 마지막으로, 세션을 닫으려면curl_close() 함수를 사용하십시오.
POST 요청 보내기는 GET 요청 보내기보다 약간 더 복잡합니다. CURLOPT_POST 매개변수를 true로 설정하고 요청된 데이터를 CURLOPT_POSTFIELDS 매개변수로 보내려면 컬_setopt() 함수를 사용해야 합니다. 다음은 POST 요청을 보내는 예입니다.
$url = 'https://example.com/api/post_data'; $data = array( 'name' => 'John', 'age' => 30, ); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); $response = curl_exec($ch); curl_close($ch); echo $response;
위 코드에서는 먼저 요청된 URL과 요청된 데이터를 정의합니다. 그런 다음 컬_init() 함수를 사용하여 cURL 세션을 초기화하고 요청 URL을 매개변수로 전달합니다. 그런 다음 컬_setopt() 함수를 사용하여 CURLOPT_RETURNTRANSFER 매개변수를 true로 설정하여 요청 결과가 반환되어야 함을 나타냅니다. 그런 다음 컬_setopt() 함수를 사용하여 CURLOPT_POST 매개변수를 true로 설정합니다. 이는 POST 요청을 보내는 것을 의미합니다. 마지막으로, curl_setopt() 함수를 사용하여 CURLOPT_POSTFIELDS 매개변수를 요청된 데이터로 설정하고, http_build_query() 함수를 사용하여 해당 데이터를 URL 인코딩된 문자열로 변환합니다. 마지막으로, 컬_exec() 함수를 사용하여 요청을 보내고 결과는 $response 변수에 저장됩니다.
일부 API에서는 일반적인 상호 작용을 위해 특정 요청 헤더를 설정해야 합니다. 이 경우, 우리는 컬_setopt() 함수를 사용하여 CURLOPT_HTTPHEADER 매개변수를 설정하여 요청 헤더를 설정할 수 있습니다. 다음은 요청 헤더 설정의 예입니다.
$url = 'https://example.com/api/get_data'; $headers = array( 'Authorization: Bearer xxxxxxx', 'Content-Type: application/json', ); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $response = curl_exec($ch); curl_close($ch); echo $response;
위 코드에서는 먼저 요청한 URL과 요청 헤더를 정의합니다. 그런 다음 컬_init() 함수를 사용하여 cURL 세션을 초기화하고 요청 URL을 매개변수로 전달합니다. 그런 다음 컬_setopt() 함수를 사용하여 CURLOPT_RETURNTRANSFER 매개변수를 true로 설정하여 요청 결과가 반환되어야 함을 나타냅니다. 그런 다음, 컬_setopt() 함수를 사용하여 CURLOPT_HTTPHEADER 매개변수를 설정된 요청 헤더로 설정하고 이를 배열로 전달합니다. 마지막으로, 컬_exec() 함수를 사용하여 요청을 보내고 결과는 $response 변수에 저장됩니다.
때로는 프록시 서버를 통해 요청을 보내야 할 때가 있습니다. 이 경우, 컬_setopt() 함수를 사용하여 CURLOPT_PROXY 매개변수를 설정하여 프록시 서버를 설정할 수 있습니다. 다음은 프록시 서버 사용의 예입니다.
$url = 'https://example.com/api/get_data'; $proxy = 'http://proxy.example.com:8080'; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_PROXY, $proxy); $response = curl_exec($ch); curl_close($ch); echo $response;
위 코드에서는 먼저 요청된 URL과 프록시 서버 주소를 정의합니다. 그런 다음 컬_init() 함수를 사용하여 cURL 세션을 초기화하고 요청 URL을 매개변수로 전달합니다. 그런 다음 컬_setopt() 함수를 사용하여 CURLOPT_RETURNTRANSFER 매개변수를 true로 설정하여 요청 결과가 반환되어야 함을 나타냅니다. 그런 다음 컬_setopt() 함수를 사용하여 CURLOPT_PROXY 매개변수를 프록시 서버 주소로 설정합니다. 마지막으로, 컬_exec() 함수를 사용하여 요청을 보내고 결과는 $response 변수에 저장됩니다.
요약하자면, cURL 라이브러리는 HTTP 요청과 같은 작업을 수행하는 데 사용할 수 있는 매우 강력한 도구입니다. PHP에서는 cURL 라이브러리를 사용하여 네트워크 요청을 보내고 다양한 요구 사항을 충족하도록 요청 매개변수를 설정할 수 있습니다.
위 내용은 PHP에서 cURL 라이브러리를 사용하여 네트워크 요청을 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!