PHP에서 Curl은 다양한 네트워크 요청을 수행하는 데 사용할 수있는 매우 강력한 도구입니다. curl_init ()는 컬 세션을 초기화하는 데 사용되는 함수이며, curl_share_init ()는 공유 세션을 초기화하는 데 사용됩니다. 이 두 기능을 통해 다른 세션 공유 및 데이터 교환을 구현하여 효율성을 향상시킬 수 있습니다.
이 기사는이 두 기능을 사용하여 공유 세션을 구축하는 데 도움이되는 방법을 자세히 분석합니다.
공유 세션을 사용하면 여러 컬 세션이 쿠키, DNS 해상도 캐시 등과 같은 특정 설정을 공유 할 수 있습니다. 여러 요청을 할 때 네트워크 연결, 인증 정보, 헤더 정보 등의 중복 설정을 피하면 성능 및 리소스 사용량을 최적화하십시오.
curl_init () : 새 컬 세션을 초기화하고 컬 핸들을 반환합니다. 이 핸들을 사용하면 HTTP 요청을 구성하고 실행할 수 있습니다.
curl_share_init () : 공유 세션 핸들을 초기화하여 여러 컬 세션이 설정을 공유 할 수 있습니다. 쿠키, DNS, SSL 세션 등과 같은 공유 컨텐츠를 설정할 수 있습니다.
먼저 curl_share_init ()를 사용하여 공유 세션 핸들을 만들어야합니다.
$share = curl_share_init();
공유 세션 핸들이 생성 된 후 공유 해야하는 옵션을 설정할 수 있습니다. 일반적인 공유 옵션에는 다음이 포함됩니다.
Curlshopt_cookie : 쿠키 공유.
CurlShopt_dns : 공유 DNS 캐시.
curlshopt_ssl : SSL 세션을 공유하십시오.
예를 들어 공유 쿠키를 설정하십시오.
curl_share_setopt($share, CURLSHOPT_COOKIE, true);
그런 다음 curl_init ()를 사용하여 컬 세션 핸들을 초기화합니다. 여기의 세션은 공유 세션과 관련하여 설정을 공유 할 수 있습니다.
$ch = curl_init();
컬 세션에 필요한 옵션을 설정하십시오. 예를 들어 URL 및 반환 결과 등을 설정합니다.
curl_setopt($ch, CURLOPT_URL, "http://m66.net/api/endpoint");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SHARE, $share); // 공유 대화
curl_exec () 를 통해 http 요청을 실행하고 결과를 얻으십시오.
$response = curl_exec($ch);
if ($response === false) {
echo "cURL Error: " . curl_error($ch);
}
요청이 완료되면 CURL 세션과 공유 세션을 닫아야합니다.
curl_close($ch);
curl_share_close($share);
<?php
// 初始化공유 대화
$share = curl_share_init();
curl_share_setopt($share, CURLSHOPT_COOKIE, true);
// 첫 번째를 초기화하십시오 cURL 세션
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, "http://m66.net/api/endpoint1");
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch1, CURLOPT_SHARE, $share);
$response1 = curl_exec($ch1);
if ($response1 === false) {
echo "cURL Error: " . curl_error($ch1);
}
curl_close($ch1);
// 두 번째를 초기화하십시오 cURL 세션
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, "http://m66.net/api/endpoint2");
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch2, CURLOPT_SHARE, $share);
$response2 = curl_exec($ch2);
if ($response2 === false) {
echo "cURL Error: " . curl_error($ch2);
}
curl_close($ch2);
// 关闭공유 대화
curl_share_close($share);
?>
curl_share_init () 와 curl_share_setopt () 사이에 다른 작동 간섭이 없는지 확인하십시오.
모든 컬 세션이 완료된 후 공유 세션이 닫아야합니다.
여러 요청을 실행할 때 세션을 공유하기위한 설정을 원한다면 각 요청이 동일한 공유 핸들에 전달되어 있는지 확인하십시오.
curl_share_init () 및 curl_init ()를 사용하면 여러 컬 세션에서 데이터 및 설정을 공유하고 성능을 최적화하고 중복 요청 구성을 줄일 수 있습니다. 공유 세션은 특히 쿠키 및 DNS 캐시와 관련된 시나리오에서 고주파 요청을 할 때 효율성을 크게 향상시킵니다.
이 기사가 PHP에서 Curl을 사용하여 공유 세션을 구축하고 코드의 성능을 향상시키는 방법을 더 잘 이해하는 데 도움이되기를 바랍니다.