"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > PHP에서 file_get_contents를 사용하여 여러 쿠키를 보내는 방법은 무엇입니까?

PHP에서 file_get_contents를 사용하여 여러 쿠키를 보내는 방법은 무엇입니까?

2024년 10월 31일에 게시됨
검색:989

How to Send Multiple Cookies with file_get_contents in PHP?

file_get_contents를 사용하여 여러 쿠키 보내기

PHP 매뉴얼에서는 스트림 컨텍스트를 사용하여 쿠키를 보내는 방법을 보여주는 예제를 제공합니다. 그러나 여러 쿠키를 보내는 시나리오는 다루지 않습니다.

여러 쿠키 옵션

여러 쿠키를 보내는 데는 여러 가지 옵션이 있습니다.

  • 옵션 1:
"Cookie: user=3345&pass=abcd\r\n"

이 옵션은 쿠키를 단일 쿠키로 결합합니다. 앰퍼샌드(&)로 구분된 문자열입니다. 그러나 모든 서버와 호환되지 않을 수 있습니다.

  • 옵션 2:
"Cookie: user=3345\r\n" . 
"Cookie: pass=abcd\r\n"

이 옵션은 개별 쿠키 헤더가 포함된 별도의 줄로 쿠키를 보냅니다. 더 나은 호환성을 제공하지만 지저분해 보일 수 있습니다.

최적의 솔루션

여러 쿠키를 보낼 때 선호되는 옵션은 다음과 같습니다.

  • 옵션 3:
Cookie: user=3345; pass=abcd

이 구문은 세미콜론(;)을 사용하여 쿠키 쌍을 구분합니다. 널리 지원되며 HTTP 쿠키 사양을 따릅니다.

구현

file_get_contents를 사용하여 여러 쿠키를 보내려면:

$cookies = array('user' => '3345', 'pass' => 'abcd');
$cookieString = '';
foreach ($cookies as $name => $value) {
    $cookieString .= "$name=$value;";
}

$opts = array(
  'http' => array(
    'method' => 'GET',
    'header' => "Accept-language: en\r\n" .
              "Cookie: $cookieString\r\n"
  )
);

$context = stream_context_create($opts);
$file = file_get_contents('http://www.example.com/', false, $context);
릴리스 선언문 이 글은 1729212137에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3