IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Obtenir tout le document résultant d'un wget


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Par défaut Obtenir tout le document résultant d'un wget
    Bonjour

    Sous Ubuntu 14.4 je fais :

    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    wget --output-document=/tmp/resultat.html http://unsite/unscript.php

    Je voudrais ensuite exploiter le document produit pour savoir si tout c'est bien passé.

    En mode ligne de commande, pas de problème.
    Mais dans un script bash, après le wget, le fichier html n'est pas complet, il ne comporte que ses 2 premières lignes (tag HEAD et tag BODY non fermé)
    Il ne semble donc pas avoir été complètement écrit sur le disque.

    C'est pareil avec
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    RESULT="`wget -qO- http://unsite/unscript.php`"
    et en examinant le contenu de la variable $RESULT

    Que puis-je faire pour obtenir le résultat complet ?
    Merci pour votre aide !

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 127
    Par défaut
    Salut,

    est-ce que ce problème ne serait pas lié au fait que wget étant non-interactif (cf. man wget), l'exécution du script continue à la ligne suivante juste après le lancement de la commande wget..., résultat les données sont loin d'avoir été toutes récupérées ?

    Auquel cas, il faudrait récupérer le pid de wget lors de son lancement et faire une boucle d'attente tant que ce pid existe.
    Enfin, c'est ce que je tenterais.

    On peut attendre d'autres avis.

  3. #3
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    @Jipété : wget ne rends la main qu'après avoir terminé.

    @Tintinux : Il n'y a pas de raison pour que ta commande ne fonctionne pas. Est-ce que tu as le même problème en récupérant d'autres URLs ?

  4. #4
    Membre émérite
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Par défaut
    Citation Envoyé par jlliagre
    Il n'y a pas de raison...
    Bon, il devait y avoir autre chose car en réessayant je n'ai plus le problème.
    Merci de m'avoir confirmé...

  5. #5
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Bonjour

    Ce premier message suscite de nombreux commentaires.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RESULT="`wget -qO- http://unsite/unscript.php`"
    • Utiliser la variable tout en majuscule est maladroit puisque ce sont les variables d'environnement qui sont en majuscules.
    • Les doubles quotes en servent à rien.
    • `` est équivalent à $( )
    • Tout est fichier. Donc vouloir rentrer un fichier dans une variable est un mauvais reflex à bannir.

  6. #6
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Utiliser la variable tout en majuscule est maladroit puisque ce sont les variables d'environnement qui sont en majuscules.
    Rien ne dit que RESULT n'est pas une variable d'environnement.

    Citation Envoyé par Flodelarab Voir le message
    Les doubles quotes en servent à rien.
    C'est vrai, mais ce n'est pas très grave.

    Citation Envoyé par Flodelarab Voir le message
    `` est équivalent à $( )
    C'est vrai, mais ça n'a pas d'impact non plus sur le code. Remplacer les `` par $() est néanmoins un bon conseil que je fais souvent.

    Citation Envoyé par Flodelarab Voir le message
    Tout est fichier. Donc vouloir rentrer un fichier dans une variable est un mauvais reflex à bannir.
    Tout n'est pas fichier, une variable, justement, n'est pas un fichier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [affichage]Obtenir couleur noire pour tout le document
    Par slaima15 dans le forum Débuter
    Réponses: 8
    Dernier message: 26/09/2014, 20h22
  2. Changer la police dans TOUT le document
    Par swagelok dans le forum Mise en forme
    Réponses: 2
    Dernier message: 19/09/2007, 11h18
  3. Réponses: 18
    Dernier message: 01/07/2006, 13h57
  4. obtenir toutes les dates valides comprises entre dates
    Par captainamerica75 dans le forum VBA Access
    Réponses: 3
    Dernier message: 01/06/2006, 13h25
  5. [Reflection] Obtenir toutes les classes implémentant une interface
    Par Pill_S dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 20/04/2005, 16h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo