2010-08-07 24 views
36

El ejemplo en el manual de PHP muestra cómo se pueden usar los contextos de flujo para enviar una cookie. Aquí está el extracto:PHP - Enviar cookie con file_get_contents

// Create a stream 
$opts = array(
    'http'=>array(
    'method'=>"GET", 
    'header'=>"Accept-language: en\r\n" . 
       "Cookie: foo=bar\r\n" 
) 
); 

$context = stream_context_create($opts); 

// Open the file using the HTTP headers set above 
$file = file_get_contents('http://www.example.com/', false, $context); 

¿Cómo se envía más de una cookie? Como # 1 o # 2, ¿o qué?

# 1

"Cookie: user=3345&pass=abcd\r\n" 

# 2

"Cookie: user=3345\r\n" . 
"Cookie: pass=abcd\r\n" 

Respuesta

52

# 3

Cookie: user=3345; pass=abcd 
+3

Además, tenga en cuenta que la cadena antes del signo igual debe ser el nombre de la cookie, nada sigue al signo igual debe ser el valor . A veces las cookies se nombran, digamos "logininfo" y el valor contiene "username = 123 & password = 123" por lo que su encabezado se vería como "Cookie: logininfo = username = 123 & password = 123" – RugerSR9

19

Ambos no son correctos. Se los distribuye con ;:

Cookie: user=3345; pass=abcd 
Cuestiones relacionadas