Téléchargement de quelques ligne d'une page web - composant indy ics ou autre

girwars Messages postés 1 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 24 avril 2010 - 24 avril 2010 à 19:35
 Utilisateur anonyme - 25 avril 2010 à 15:32
Bonjour! J'écris pour la première fois sur ce forum, mais je suis un lecteur quotidien, néanmoins cette fois impossible de trouver une solution.

J'aurais besoin de récupérer quelques lignes d'une pages web, afin de les analyser. Je me sers donc de Indy 10, pour télécharger la page, mais il m'est impossible de télécharger uniquement quelques lignes, indy télécharge la totalité ce qui fait perdre du temps.
J'ai bien essayer de définir ContentRange mais cela ne semble pas fonctionner. J'ai ensuite changer de composant (ICS) mais pareil, le range n'est pas tenu compte. Je pense que quelque choses m'échappe. Quelqu'un aurait-il une solution?

Voici le code utilisé :

IdHttp1.Request.ContentRangeStart := 100;
IdHttp1.Request.ContentRangeEnd := 1000;
Memo1.Lines.Text := Idhttp1.Get('http://www.google.fr');

1 réponse

Utilisateur anonyme
25 avril 2010 à 15:32
Salut,

Ce que tu demandes à faire est tout simplement impossible. Quand tu fais une requête HTTP sur un serveur, ce dernier te répond. La réponse envoyée contient :

*Une ligne de statut

*Le Header de la réponse

*Le corps de la réponse

Le corps de la réponse correspond aux données c'est à dire à la page HTML envoyée par le serveur. Tu ne peux pas demander au serveur de t'envoyer que 47%, par exemple, d'une page HTML. Cela s'explique par le protocole HTTP qui ne contient pas de commande pour demander ou envoyer qu'une partie des données.

Donc tu ne peux rien faire à part tout récuperer et ensuite traiter les données.
0
Rejoignez-nous