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

  1. #1
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    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 !
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 700
    Points : 15 043
    Points
    15 043
    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.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  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
    Points : 7 882
    Points
    7 882
    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 ?
    ɹǝsn *sıɹɐlos*

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    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é...
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 238
    Points : 13 443
    Points
    13 443
    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.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  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
    Points : 7 882
    Points
    7 882
    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
    ɹǝsn *sıɹɐlos*

+ 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, 21h22
  2. Changer la police dans TOUT le document
    Par swagelok dans le forum Mise en forme
    Réponses: 2
    Dernier message: 19/09/2007, 12h18
  3. Réponses: 18
    Dernier message: 01/07/2006, 14h57
  4. obtenir toutes les dates valides comprises entre dates
    Par captainamerica75 dans le forum VBA Access
    Réponses: 3
    Dernier message: 01/06/2006, 14h25
  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, 17h48

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