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

Lazarus Pascal Discussion :

[0.9.26.2/XP + Indy 10.2.0.3] Fonctionnement de idHTTP [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [0.9.26.2/XP + Indy 10.2.0.3] Fonctionnement de idHTTP
    Bonjour

    Sur une Form, je dépose un TIDhttp sans modifier ses paramètres d'origine, un bouton et dans son évènement OnClick
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    try
     showmessage(idhttp1.Get('http://www.google.fr')); 
     //Où n'importe quelle autre adresse   
    except
     ...
    end;
    Aucun message d'erreur mais le showmessage est vide... (Une adresse fausse déclenche correctement le except)

    Je passe à côté de quoi ?

    Merci. Cordialement. Gilles

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Exactement le même code sous Debian Lenny (mêmes versions Lazarus et Indy) fonctionne correctement. Est-ce que cela serait (encore) un problème d'ANSI/UTF-8 ?

    Cordialement. Gilles
    Dernière modification par Invité ; 09/06/2009 à 12h38.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    J'ai trouvé une solution qui fonctionne semble-t-il sous Windows.

    A partir de
    • la discussion http://www.developpez.net/forums/d22...ptable-idhttp/
    • d'un commentaire dans le package Indy : {Note that you probably should set the UserAgent because some servers now screen out requests from our default string "Mozilla/3.0 (compatible; Indy Library)" to prevent address harvesters and Denial of Service attacks. Some people have used Indy for these. Note that you do need a Mozilla string for the UserAgent property. The format is like this: Mozilla/4.0 (compatible; MyProgram)}

    et par ajustement de Mozilla/4.0 (compatible; MyProgram)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    try
     idHTTP1 := TIdHTTP.Create;
     idHTTP1.HandleRedirects := True;
     idHTTP1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)';
     showmessage(idHTTP1.get('http://www.google.fr'));
    finally
     FreeAndNil(idHTTP1);
    end;
    Une autre combinaison MSIE x.x, Windows xxxx conviendrait sans doute (Ex. MSIE 5.5 ; Windows NT 5.0 - cf site de Microsoft) mais s'il s'agit bien d'un problème de mod_security, il suffit d'en obtenir une qui fonctionne.

    Il y a également un problème d'encodage. Dans un des sites testés, sur la page index il y a une (seule) lettre accentuée 'à'. La page HTML est décrite en charset=windows-1252 mais là n'est pas le problème. Sous windows, le showmessage renvoie une chaine vide. Mais, j'ai pu afficher le contenu de la page (par le showmessage) dès que j'ai remplacé le 'à' par 'à' dans le fichier index.html... donc si on veut afficher le résultat sous Lazarus/Windows, il faut utiliser : AnsiToUTF8(idHTTP1.get(....

    Le code retenu est donc finalement pour Windows (le code initial fonctionne sans modification sous Linux) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    try
     idHTTP1 := TIdHTTP.Create;
     idHTTP1.HandleRedirects := True;
     idHTTP1.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)';
     showmessage(AnsiToUTF8(idHTTP1.get(edit1.text)));
    finally
     FreeAndNil(idHTTP1);
    end;
    Pour l'instant, je n'ai plus rencontré de problèmes...
    Cordialement. Gilles
    Dernière modification par Invité ; 10/06/2009 à 18h52.

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

Discussions similaires

  1. [Kylix] Kylix - Indy - Mysql
    Par maitre_wordox dans le forum EDI
    Réponses: 1
    Dernier message: 07/03/2003, 13h29
  2. Indy - email, html et piece jointe
    Par nut62 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 13/12/2002, 10h25
  3. Réponses: 3
    Dernier message: 26/07/2002, 23h02
  4. [Kylix] indy sur kylix? pb :-(
    Par NicoLinux dans le forum EDI
    Réponses: 7
    Dernier message: 15/05/2002, 23h32
  5. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51

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