2011-08-24 12 views
55

estoy usando rizo para recuperar las cookies de este modo:enviarán cookies con el enrollamiento de

curl -c cookies.txt url 

entonces yo analizo la cookie quiero desde el archivo cookies.txt y enviar la solicitud de nuevo con la cookie

curl -b "name=value" url 

¿Es esta la forma correcta de enviar la cookie? ¿Hay alguna manera más simple?

Respuesta

82

Puede usar -b para especificar un archivo de cookie para leer las cookies también.

En muchas situaciones el uso de -c y -b en el mismo archivo es lo que quiere:

curl -b cookies.txt -c cookies.txt http://example.com 

Además

Usando sólo -c hará que la curvatura no comenzar con las galletas pero aún así analizar y entender cookies y si se usan redirecciones o varias URL, entonces usará las cookies recibidas dentro de la invocación única antes de que todas las escriban en el archivo de salida al final.

La opción -b introduce un conjunto de cookies iniciales en curl para que las conozca al inicio, y activa el analizador de cookies de curl para que analice y use también las cookies entrantes.

Ver también

El cookies chapter en el Todo rizo libro.

+5

Desearía que la página man para '--cookie-jar' no dijera" Esta opción de línea de comando activará el motor de cookies que hace el registro curl ** y usará ** cookies."[énfasis mío] Ya que suena como' 'cookie-jar' dará lugar a que se envíen cookies, lo cual es falso. – blahdiblah

+1

@blahdiblah: es cierto. Si usas --cookie-jar para una línea de comando que primero recibe las cookies, luego sigue un redireccionamiento a una segunda página, utilizará las cookies de la primera página (suponiendo que coincidan, etc.). Simplemente no leerá ninguna cookie inicial de ningún archivo. –

+0

Sí, la página de manual es engañosa. Pensé que estaba enviando cookies solo usando la opción -c hasta que usé -v y vi que no los estaba enviando. – deltaray

4

El formato de archivo de las cookies al parecer consiste en una línea por galleta y cada línea se compone de los siguientes siete campos delimitados por tabuladores:

  • dominio - El dominio que crearon y que puede leer la variable.
  • marca - Un valor VERDADERO/FALSO que indica si todas las máquinas dentro de un dominio determinado pueden acceder a la variable. Este valor lo establece automáticamente el navegador, según el valor que establezca para el dominio.
  • ruta de acceso: la ruta dentro del dominio para el que es válida la variable.
  • seguro: valor TRUE/FALSE que indica si se necesita una conexión segura con el dominio para acceder a la variable.
  • expiración - La hora de UNIX en que caducará la variable. La hora de UNIX se define como la cantidad de segundos desde el 1 de enero de 1970 00:00:00 GMT.
  • name - El nombre de la variable.
  • valor - El valor de la variable.

De http://www.cookiecentral.com/faq/#3.5

1

si ha instalado Firebug en Firefox, basta con abrir la URL. En el panel de red, haga clic con el botón derecho y seleccione copiar como cURL. Puede ver todos los parámetros de curl para esta llamada web.

Cuestiones relacionadas