87 votes

Comment supprimer le compteur de progression de cUrl lors de la redirection de la sortie ?

J'essaie d'imprimer uniquement les sections verbeuses d'une requête cURL (qui sont envoyées à l'adresse suivante stderr ) à partir du Shell de bash.

Mais quand je redirige stdout comme ça :

curl -v http://somehost/somepage > /dev/null

Une sorte de tableau de résultats apparaît au milieu de la sortie pour stderr :

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

Suivi par ceci vers la fin :

{ [data not shown]
118   592    0   592    0     0  15714      0 --:--:-- --:--:-- --:--:-- 25739

Ce qui rend les en-têtes de réponse moins lisibles.

Je ne vois pas ce texte quand je ne redirige pas.


Une autre façon de voir les effets :

La table n'apparaît pas :

curl -v http://somehost/somepage 2>&1

Le tableau apparaît :

curl -v http://somehost/somepage 2>&1 | cat

  1. Comment se fait-il que cela n'apparaisse qu'avec certains types de redirections ?

  2. Quel est le meilleur moyen de le supprimer ?

2voto

Michael Hampton Points 13142

Les versions modernes de curl ont désormais la possibilité --no-progress-meter qui désactive uniquement le compteur de progression auquel vous faites référence.

1voto

user1065951 Points 11

Pour mettre les vrais messages d'erreur quelque part, vous devriez écrire strerr dans un fichier journal. Quelque chose comme ça :

curl  "http://domain.name/process" --stderr /var/log/curl_err.log > /dev/null

0voto

wharsojo Points 165

Étant derrière un proxy, j'utilise une commande comme celle-ci.

date -s "$(curl --proxy http://PROXY:8080  -s http://google.com --head -s |grep Date|sed 's/Date : //g')"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X