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

Web & réseau Delphi Discussion :

Entrer infos de pages web par code


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    bruce-willis
    Invité(e)
    Par défaut Entrer infos de pages web par code
    Bonjour,

    Il s'agit de remplir à partir les Edit de Delphi les champs d'une page web par exemple une page d'inscription ou saisie de mot de passe, voire même recherche sur Google
    C'est à dire GET/POST !!!
    Supposons que je me connecte à partir d'un composant Socket, que vais-je faire s'il y a des cookies !!!

  2. #2
    bruce-willis
    Invité(e)
    Par défaut
    Envoyer des infos par POST est-il possible? J'en doute car j'avais soumis une réponse d'un forum et cela a échoué car lors de la redirection, IdHTTP utilise encore POST avec la même donnée

    Mon autre question concerne les espaces et caractères accentués dans le texte à envoyer? Qui transforme ces textes comme ça: idhttp?

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 938
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 938
    Par défaut
    Citation Envoyé par bruce-willis Voir le message
    Envoyer des infos par POST est-il possible? J'en doute car j'avais soumis une réponse d'un forum et cela a échoué car lors de la redirection, IdHTTP utilise encore POST avec la même donnée
    Ce qui me paraît assez normal !
    Admettons que pour maintenance je redirige temporairement mon site sur un serveur mirroir. Mon script ne c'est pas subitement transformé pour gérer des GET à la place de POST. Imaginons aussi que j'y passe un nom d'utilisateur et un mot de passe, ils deviendraient alors visibles dans la barre d'adresse...

    Et j'ai même utilisé ce principe pour me logué sur plusieurs serveurs avec une seule fenêtre d'authentification .

    Citation Envoyé par bruce-willis Voir le message
    Mon autre question concerne les espaces et caractères accentués dans le texte à envoyer? Qui transforme ces textes comme ça: idhttp?
    idHTTP avec des widestring en POST (D2009). Je met à jour un serveur MySQL mutualisé à travers des scripts php. (Je dois pouvoir travailler en chinois )

  4. #4
    Membre extrêmement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par défaut
    Citation Envoyé par bruce-willis Voir le message
    Mon autre question concerne les espaces et caractères accentués dans le texte à envoyer? Qui transforme ces textes comme ça: idhttp?
    La réponse est un peu dans la faq: http://delphi.developpez.com/faq/?pa...indysimulerget en utilisant la fonction IdHTTP.URL.PathEncode() mais le problème lorsque j'ai testé c'est

    1) Cela ne change pas les espaces en + mais en %20

    2) Il y a l'exception EConvertError 'Invalid Argument to date encode' lors du IdHTTP.Get()
    randriano.dvp.com
    Développeur. Product Owner [Agile]. Sites web, mobile apps, système d'information (SI).

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 938
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 938
    Par défaut
    Citation Envoyé par randriano Voir le message
    1) Cela ne change pas les espaces en + mais en %20
    C'est la façon standard de coder les caractères invalides d'une URL. La valeur numérique du caractère (hexa) précédé d'un %.

    Citation Envoyé par randriano Voir le message
    2) Il y a l'exception EConvertError 'Invalid Argument to date encode' lors du IdHTTP.Get()
    Là, tu t'attends à ce que ton script te renvoi une chaîne représentant une date. Malheureusement, le format ne correspond pas à tes paramètres régionaux et StrToDate échoue ! Le GET lui à parfaitement fonctionné

  6. #6
    Membre extrêmement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par défaut
    Voici mon code ayant cette exception
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Fs : TFileStream;
    begin
          Fs := TFileStream.Create('search_result.htm',fmCreate);
          with IdHTTP1 do
          begin
              Request.BasicAuthentication := True; //Auth. BASIC
              Get(Format('http://www.google.com/search?hl=fr&q=%s&btnG=Recherche+Google&lr=',[URL.PathEncode(SearchEdit.Text)]),Fs);
          end;
    end;
    Comme vous le voyez, j'aimerais seulement pouvoir effectuer une recherche google par IdHTTP, les mot-clés tapés dans un TEdit SearchEdit
    randriano.dvp.com
    Développeur. Product Owner [Agile]. Sites web, mobile apps, système d'information (SI).

  7. #7
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 938
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 938
    Par défaut
    Ben j'ai fais un essai et ça fonctionne

    PS: Il te manque un Fs.Free.

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/10/2009, 13h05
  2. [ASP.NET] Gestion des page WEB par IIS
    Par pc152 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 20/06/2007, 11h06
  3. Envoyer page web par Email
    Par achos dans le forum Outlook
    Réponses: 8
    Dernier message: 04/04/2007, 14h53
  4. Réponses: 5
    Dernier message: 20/08/2006, 12h32
  5. [Mail] envoyer une page web par mail
    Par Zen_Fou dans le forum Langage
    Réponses: 8
    Dernier message: 06/04/2006, 17h06

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