2010-06-15 6 views
1

Donc, j'écris un code pour obtenir un document sur Internet. La taille du document est d'environ 200 Ko. C'est le code:Perl: Valeur du code de réponse dans HTTP :: Demande

#!/usr/local/bin/perl -w 
use strict; 
use LWP::UserAgent; 
my $ua = LWP::UserAgent->new; 
my $url = "SOME URL"; 
my $req = HTTP::Request->new(GET => $url); 
my $res = $ua->request($req); 

if($res->is_success){ 
    print $res->content ."\n"; 
} 
else{ 
    print "Error: " . $res->status_line; 
} 

Maintenant, le seul problème est que je ne peux pas mentionner ce qu'est l'URL.

Cependant, la sortie est: "Erreur: délai de lecture 500". Lorsque j'ai vérifié le lien en externe, les données sont en cours de téléchargement en moins de 5 secondes.

J'ai même changé le timeout à 1000s, mais cela ne fonctionnait toujours pas. Comment devrais-je trouver plus d'informations sur la réponse? La taille du fichier (environ 200 Ko) n'est pas suffisante pour justifier un délai de lecture. Le serveur n'est pas non plus occupé, n'a pas posé de problème chaque fois que j'ai vérifié le lien sur le navigateur.

Merci.

+0

Existe-t-il un proxy? –

+0

Aucun proxy impliqué. Essayé le lien en utilisant curl, et le message était: (52) réponse vide du serveur. Alors, comment puis-je savoir si les données sont envoyées mais ne sont pas livrées. Ou, le serveur ferme prématurément la connexion. Dans les deux cas, pourquoi l'état est-il "Délai de lecture 500"? – lola

Répondre

0

Assurez-vous que le serveur Web n'est pas configuré pour supprimer les demandes des scripts dans ce cas perl.

+2

Downvote est pour? C'est une chose à vérifier. –