현재 위치: > 최신 기사 목록> curl_share_init () + curl_init () : 공유 세션을 구축하기위한 올바른 단계

curl_share_init () + curl_init () : 공유 세션을 구축하기위한 올바른 단계

M66 2025-05-23

PHP에서 Curl은 다양한 네트워크 요청을 수행하는 데 사용할 수있는 매우 강력한 도구입니다. curl_init ()는 컬 세션을 초기화하는 데 사용되는 함수이며, curl_share_init ()는 공유 세션을 초기화하는 데 사용됩니다. 이 두 기능을 통해 다른 세션 공유 및 데이터 교환을 구현하여 효율성을 향상시킬 수 있습니다.

이 기사는이 두 기능을 사용하여 공유 세션을 구축하는 데 도움이되는 방법을 자세히 분석합니다.

1. 공유 세션이란 무엇입니까?

공유 세션을 사용하면 여러 컬 세션이 쿠키, DNS 해상도 캐시 등과 같은 특정 설정을 공유 할 수 있습니다. 여러 요청을 할 때 네트워크 연결, 인증 정보, 헤더 정보 등의 중복 설정을 피하면 성능 및 리소스 사용량을 최적화하십시오.

2. curl_share_init ()curl_init () 의 기본 함수

  • curl_init () : 새 컬 세션을 초기화하고 컬 핸들을 반환합니다. 이 핸들을 사용하면 HTTP 요청을 구성하고 실행할 수 있습니다.

  • curl_share_init () : 공유 세션 핸들을 초기화하여 여러 컬 세션이 설정을 공유 할 수 있습니다. 쿠키, DNS, SSL 세션 등과 같은 공유 컨텐츠를 설정할 수 있습니다.

3. 공유 세션을 구축하기위한 단계

1 단계 : 공유 세션 초기화

먼저 curl_share_init ()를 사용하여 공유 세션 핸들을 만들어야합니다.

 $share = curl_share_init();

2 단계 : 공유 옵션을 설정합니다

공유 세션 핸들이 생성 된 후 공유 해야하는 옵션을 설정할 수 있습니다. 일반적인 공유 옵션에는 다음이 포함됩니다.

  • Curlshopt_cookie : 쿠키 공유.

  • CurlShopt_dns : 공유 DNS 캐시.

  • curlshopt_ssl : SSL 세션을 공유하십시오.

예를 들어 공유 쿠키를 설정하십시오.

 curl_share_setopt($share, CURLSHOPT_COOKIE, true);

3 단계 : 컬 세션 초기화

그런 다음 curl_init ()를 사용하여 컬 세션 핸들을 초기화합니다. 여기의 세션은 공유 세션과 관련하여 설정을 공유 할 수 있습니다.

 $ch = curl_init();

4 단계 : 컬 옵션을 설정합니다

컬 세션에 필요한 옵션을 설정하십시오. 예를 들어 URL 및 반환 결과 등을 설정합니다.

 curl_setopt($ch, CURLOPT_URL, "http://m66.net/api/endpoint");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SHARE, $share);  // 공유 대화

5 단계 : 요청을 실행하십시오

curl_exec () 를 통해 http 요청을 실행하고 결과를 얻으십시오.

 $response = curl_exec($ch);
if ($response === false) {
    echo "cURL Error: " . curl_error($ch);
}

6 단계 : 세션을 닫습니다

요청이 완료되면 CURL 세션과 공유 세션을 닫아야합니다.

 curl_close($ch);
curl_share_close($share);

4. 코드 예제 완료

 <?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);
?>

5. 주목할만한 것들

  • curl_share_init ()curl_share_setopt () 사이에 다른 작동 간섭이 없는지 확인하십시오.

  • 모든 컬 세션이 완료된 후 공유 세션이 닫아야합니다.

  • 여러 요청을 실행할 때 세션을 공유하기위한 설정을 원한다면 각 요청이 동일한 공유 핸들에 전달되어 있는지 확인하십시오.

6. 요약

curl_share_init ()curl_init ()를 사용하면 여러 컬 세션에서 데이터 및 설정을 공유하고 성능을 최적화하고 중복 요청 구성을 줄일 수 있습니다. 공유 세션은 특히 쿠키 및 DNS 캐시와 관련된 시나리오에서 고주파 요청을 할 때 효율성을 크게 향상시킵니다.

이 기사가 PHP에서 Curl을 사용하여 공유 세션을 구축하고 코드의 성능을 향상시키는 방법을 더 잘 이해하는 데 도움이되기를 바랍니다.