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 :

POST sur un HTTPS


Sujet :

Web & réseau Delphi

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Par défaut POST sur un HTTPS
    Bonjour, j'essai de poster un fichier sur un serveur en https mais je n'y arrive pas. J'ai chercher sur internet et dans la faq mais je n'y arrive pas.

    Voici mon boute de code..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    var
     Fs : TFileStream;
    begin
      Fs := TFileStream.Create('c:\example.fdp',fmCreate);
     
      With IdSSLIOHandlerSocketOpenSSL1 do
      Begin
        //SSLOptions.RootCertFile := 'RootCert.cer';
        //SSLOptions.CertFile := 'Cert.cer';
        Port := 443;
      end;
     
      with IdHTTP1 do
      try
          Request.Username := 'USER';
          Request.Password := 'PASS';
          try
            Post('https://...',Fs);
          except
            On e : Exception do
              MessageDlg(Format('Erreur : %s',[e.Message]), mtInformation, [mbOK], 0);
          end;
      finally
          Free;
      end;

  2. #2
    Membre extrêmement actif
    Avatar de skywaukers
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2005
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 219
    Par défaut
    Bonjour,

    obtiens-tu un message d'erreur ?

    @++
    Dany

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Par défaut
    oui could not load certificate

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Par défaut
    bon j'ai réussi à faire loader le certificat et maintenant j'ai Connection Closed Gracefully..

  5. #5
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Oui, c'est très con la EIdConnClosedGracefully, tu peux considérer que c'est une exception qui indique que tout est bon, c'est bizarre ... je ne l'ai eu surtout qu'avec le TIdRexec ...

    J'ai fait ce code mais pour un GET, mais je n'ai pas EIdConnClosedGracefully dans ce cas

    EDIT : je me demande si il n'y a pas une différence de comportement entre des composants posé sur une Form ou dans un DataModule, et des composants créés à la volée sans Owner, ... c'est par exemple le cas avec le TXMLDocument ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Par défaut
    Je réussi à faire un GET..

    Mais lorsque j'arrive pour faire un post, on a besoin du root.crt, cert.crt et key.crt mais je ne sais pas où trouver cette fameuse key.crt..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    with IdSSLIOHandlerSocketOpenSSL1 do
        begin
          SSLOptions.RootCertFile := 'root.crt';
          SSLOptions.CertFile := 'cert.crt';
          SSLOptions.KeyFile := ???;
     
          Host := sUrl;
          Port := 443;
        end;

    Lorsque j'essaye d'entrer quelque chose dans le KeyFile, j'obtiens cet erreur.. EIdOSSLLoadingKeyError: Could not load key, check password..

  7. #7
    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
    La FAQ ne dit que ceci: http://delphi.developpez.com/faq/?pa...ndyvaliderpost

    Je suis à la recherche de comment vraiment soumettre un formulaire. De quoi on tire les couples Param=Valeur?
    randriano.dvp.com
    Développeur. Product Owner [Agile]. Sites web, mobile apps, système d'information (SI).

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 936
    Par défaut
    A toi de savoir comment est codé ton script

    php:
    Delphi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ts.Add('mavar1=' +Edit1.Text);

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Par défaut
    Je suis capable de faire un PUT et un GET mais impossible de faire un POST avec SSL.

    Personne ne semble connaitre la réponse à cette question :
    Où trouvé la fameuse clé ? (KeyFile)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SSLOptions.KeyFile := '????';

  10. #10
    Membre éclairé Avatar de shell13010
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2008
    Messages : 281
    Par défaut
    salut,

    je pense qu'il faut que tu generes une clée donc essaye de voir sur se lien ici

  11. #11
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Par défaut
    Je ne comprends pas ou est ton problème. Par défaut, ce n'est pas au serveur d'authentifier le client, mais au client de vérifier l'identité du serveur. Par conséquent, inutile de renseigner CertFile, CipherList, KeyFile et tout le reste. Ces propriétés servent à exposer les certificats du côté serveur de l'application, pas cliente.

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2008
    Messages : 198
    Par défaut
    comment poster dans ce cas ? je suis toujours refusé

  13. #13
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Par défaut
    Acceptes tu le certificat serveur dans OnVerifyPeer ?

Discussions similaires

  1. Requête POST sur HTTPS
    Par zentaf dans le forum Réseau
    Réponses: 0
    Dernier message: 02/01/2014, 11h57
  2. Faire un POST sur un HTTP request apres un GET
    Par olibara dans le forum C#
    Réponses: 2
    Dernier message: 23/08/2012, 16h38
  3. Lire des data POST / GET sur serveur HTTP
    Par rems033 dans le forum Débuter
    Réponses: 2
    Dernier message: 27/12/2010, 19h32
  4. Post sur une page https
    Par Lethal dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 31/08/2006, 17h41

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