Je sais que dans un script php :
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
suivra les redirections. Existe-t-il un moyen de suivre les redirections avec la ligne de commande cURL ?
Je sais que dans un script php :
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
suivra les redirections. Existe-t-il un moyen de suivre les redirections avec la ligne de commande cURL ?
Cela ne fonctionne pas non plus avec l'authentification avec Google pour accéder aux feuilles de calcul. :/
Comme dit, pour suivre les redirections vous pouvez utiliser le drapeau -L
o --location
:
curl -L http://www.example.com
Mais, si vous voulez limiter le nombre de redirections ajoutez le paramètre --max-redirs
--max-redirs <num>
Définir le nombre maximum de redirections-suivies autorisées. Si
-L
,--location
est utilisée, cette option peut être utilisée pour empêcher curl de suivre les redirections "in absurdum". Par défaut, la limite est fixée à 50 redirections. Mettez cette option à -1 pour la rendre illimitée. Si cette option est utilisée plusieurs fois, c'est la dernière qui sera utilisée.
J'ai eu un problème similaire. Je publie ma solution ici car je pense qu'elle pourrait aider l'un des commentateurs.
Pour moi, l'obstacle était que la page demandait une connexion et me donnait ensuite une nouvelle URL par le biais du javascript. Voici ce que j'ai dû faire :
curl -c cookiejar -g -O -J -L -F "j_username=username" -F "j_password=password" <URL>
Notez que j_username
y j_password
est le nom des champs du formulaire de connexion de mon site Web. Vous devrez ouvrir la source de la page web pour voir quel est le 'nom' du champ du nom d'utilisateur et le 'nom' du champ du mot de passe dans votre cas. Après cela, je vais un fichier html avec java script dans lequel la nouvelle URL a été intégrée. Après l'analyse de ce fichier, il suffit de le soumettre à nouveau avec la nouvelle URL :
curl -c cookiejar -g -O -J -L -F "j_username=username" -F "j_password=password" <NEWURL>
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Pour mémoire, wget suivra l'en-tête de localisation