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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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..

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