file_get_contents를 사용하여 여러 쿠키 보내기
PHP 매뉴얼에서는 스트림 컨텍스트를 사용하여 쿠키를 보내는 방법을 보여주는 예제를 제공합니다. 그러나 여러 쿠키를 보내는 시나리오는 다루지 않습니다.
여러 쿠키 옵션
여러 쿠키를 보내는 데는 여러 가지 옵션이 있습니다.
"Cookie: user=3345&pass=abcd\r\n"
이 옵션은 쿠키를 단일 쿠키로 결합합니다. 앰퍼샌드(&)로 구분된 문자열입니다. 그러나 모든 서버와 호환되지 않을 수 있습니다.
"Cookie: user=3345\r\n" .
"Cookie: pass=abcd\r\n"
이 옵션은 개별 쿠키 헤더가 포함된 별도의 줄로 쿠키를 보냅니다. 더 나은 호환성을 제공하지만 지저분해 보일 수 있습니다.
최적의 솔루션
여러 쿠키를 보낼 때 선호되는 옵션은 다음과 같습니다.
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);
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3