J'utilise WWW :: Mechanize pour lire une page Web particulière dans une boucle qui s'exécute toutes les quelques secondes. Parfois, le 'GET' expire et le script s'arrête. Comment puis-je récupérer à partir d'un tel timeout afin qu'il continue la boucle et essaye le 'GET' la prochaine fois?Comment puis-je récupérer à partir d'un timeout avec WWW :: Mechanize de Perl?
4
A
Répondre
3
Utilisation eval
:
eval {
my $resp = $mech->get($url);
$resp->is_success or die $resp->status_line;
# your code
};
if ([email protected]) {
print "Recovered from a GET error\n";
}
Le bloc eval
attrapera toute erreur en Geting la page.
1
Une option consisterait à implémenter une méthode pour gérer les erreurs de dépassement de délai et à l'ancrer dans l'objet mech au moment de la construction en tant que gestionnaire onerror
. Voir Constructor and Startup dans les docs.
Vous pouvez même ignorer les erreurs en définissant un gestionnaire d'erreurs null, par exemple:
my $mech = WWW::Mechanize->new(onerror => undef);
mais je ne recommanderais pas - vous aurez juste des problèmes étranges plus tard.
0
Cette solution continuera à tenter de charger la page jusqu'à ce qu'elle fonctionne.
do {
eval {
$mech->get($url);
};
} while ([email protected] ne '');
Questions connexes
- 1. connexion WWW :: Mechanize Perl fonctionne seulement après relancement
- 2. WWW :: Mechanize et les cookies
- 3. Comment faire pour utiliser un proxy web avec WWW :: Mechanize de Perl?
- 4. Comment puis-je utiliser WWW :: Mechanize de Perl pour vérifier si une page Web a été mise à jour?
- 5. Problèmes avec Perl Mechanize et Proxies
- 6. Comment utiliser WWW :: Mechanize pour cocher une case radio?
- 7. Manipulation transparente du contenu codé GZip avec WWW :: Mechanize
- 8. Comment puis-je imprimer les valeurs cookie_jar dans WWW :: Mechanize de Perl?
- 9. Comment puis-je sélectionner un élément de liste aléatoire avec WWW :: Mechanize?
- 10. Comment puis-je demander à WWW-Mechanize de se connecter au site Web de Wells Fargo?
- 11. Ruby - Socks4 proxy avec WWW :: Mechanize et NET :: HTTP :: GET
- 12. Puis-je encoder des espaces en% 20 dans un POST à partir de WWW :: Mechanize?
- 13. Comment télécharger un fichier avec WWW :: Mechanize après avoir envoyé un formulaire?
- 14. Comment configurer WWW :: Mechanize pour fonctionner via un proxy?
- 15. Iconv :: IllegalSequence lors de l'utilisation de www :: mechanize
- 16. Ignorer Iconv :: IllegalSequence lors de l'utilisation de Ruby WWW :: Mechanize
- 17. Pourquoi WWW :: Mechanize ne peut-il pas trouver le bon formulaire?
- 18. Enregistrer WWW :: Mechanize :: Fichier sur disque en utilisant FileUtils
- 19. Existe-t-il un équivalent .NET de Perl's LWP/WWW :: Mechanize?
- 20. WWW à Redirect non WWW avec PHP
- 21. WWW :: Mechanize :: Plugin :: Afficher - Toujours ouvrir une nouvelle fenêtre
- 22. Comment puis-je ajouter une barre de progression à WWW :: Mechanize?
- 23. Comment récupérer et analyser HTML avec Perl?
- 24. comment rediriger www url à non-www url avec htaccess?
- 25. Comment obtenir WWW :: Mechanize pour gérer correctement les redirections 302 avec des fragments d'URI?
- 26. Comment obtenir WWW :: Mechanize :: Firefox fonctionnant sous OS X - changez les ports?
- 27. Comment rediriger www à non-www?
- 28. Comment utiliser Perl pour récupérer du texte à partir d'une page Web générée dynamiquement avec JavaScript?
- 29. Appel de perl à partir de php?
- 30. Comment puis-je interagir avec ClearCase à partir de Perl?