Format des cookies lors de l'utilisation de wget?


31

Quel est le format Netscape de wget« s cookies.txt? J'ai besoin de refléter un site Web qui nécessite une connexion. J'utilise une extension Chrome qui renvoie des cookies dans ce format, je les enregistre cookies.txt, j'importe avec la wgetcommande mais en vain, cela télécharge simplement le contenu comme si je ne suis pas du tout connecté.

J'apprécie toute aide.

Réponses:


46

Le format est le format Netscape comme indiqué dans la page de manuel et ce format est:

La disposition du fichier cookies.txt de Netscape est telle que chaque ligne contient une paire nom-valeur. Un exemple de fichier cookies.txt peut avoir une entrée qui ressemble à ceci:

.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID 100103

Chaque ligne représente une seule information stockée. Un onglet est inséré entre chacun des champs.

De gauche à droite, voici ce que représente chaque champ:

domaine - Le domaine qui a créé ET qui peut lire la variable.

flag - Une valeur TRUE / FALSE indiquant si toutes les machines d'un domaine donné peuvent accéder à la variable. Cette valeur est définie automatiquement par le navigateur, en fonction de la valeur que vous définissez pour le domaine.

path - Chemin dans le domaine pour lequel la variable est valide.

secure - Une valeur TRUE / FALSE indiquant si une connexion sécurisée avec le domaine est nécessaire pour accéder à la variable.

expiration - Heure UNIX à laquelle la variable expirera. L'heure UNIX est définie comme le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 GMT.

name - Le nom de la variable.

value - La valeur de la variable.

(Extrait de la " FAQ sur les cookies non officiels ", modifiée pour plus de clarté)


3
L'onglet ou l'espace du fichier est-il séparé?
Ferrybig

3
Les onglets @ferrybig sont utilisés.
geckon

quelque chose de spécial est le cookie vient par exemple de 127.0.0.1 au lieu de quelque chose avec un nom de domaine?
PypeBros

4

Une façon d'obtenir des cookies pour wget est d'utiliser les options --keep-session-cookies de wget.

Par exemple :

wget --keep-session-cookies --save-cookies cookies.txt "http://MYSITE/?__login=USER&__password=PASS"

Cela ?__login etcdépend du site Web que vous essayez de mettre en miroir, vous devrez peut-être examiner le fonctionnement du formulaire d'authentification.

Ensuite, vous pouvez utiliser:

wget --mirror --load-cookies cookies.txt http://MYSITE/

3
cela ne répond pas à la question de savoir quel est le format de fichier
Michael

2

Le format de fichier des cookies Netscape pour chaque ligne de données est comme ci-dessus, mais vous ne pourrez pas le lire à HTTP::Cookies::Netscapemoins qu'il ait une ligne d'en-tête comme celle-ci, dont le format de fichier complet nécessite:

# Netscape HTTP Cookie File

ou ca:

# HTTP Cookie File
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.