Envío de múltiples cookies con file_get_contents
El manual de PHP proporciona un ejemplo que demuestra cómo enviar una cookie utilizando contextos de transmisión. Sin embargo, no aborda el escenario de envío de múltiples cookies.
Múltiples opciones de cookies
Hay varias opciones para enviar múltiples cookies:
"Cookie: user=3345&pass=abcd\r\n"
Esta opción combina las cookies en una sola cadena, separada por un signo comercial (&). Sin embargo, es posible que no sea compatible con todos los servidores.
"Cookie: user=3345\r\n" .
"Cookie: pass=abcd\r\n"
Esta opción envía las cookies como líneas separadas con encabezados de cookies individuales. Proporciona una mejor compatibilidad, pero puede parecer desordenado.
Solución óptima
La opción preferida para enviar múltiples cookies es:
Cookie: user=3345; pass=abcd
Esta sintaxis utiliza punto y coma (;) para separar los pares de cookies. Tiene un amplio soporte y sigue la especificación de cookies HTTP.
Implementación
Para enviar múltiples cookies usando 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);
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3