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

C++Builder Discussion :

TIdHttp->post() + PHP [Web/Reseaux]


Sujet :

C++Builder

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Ao�t 2011
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Ao�t 2011
    Messages : 24
    Par d�faut TIdHttp->post() + PHP
    Bonjour,

    Tout d'abord, je tiens � vous remercier pour le temps que vous prendrez � vous int�resser � mon probl�me.

    Ce dernier est le suivant :
    Une application c++ (avec c++Builder6) doit contacter un serveur web, et plus pr�cis�ment un script PHP en particulier. L'application fournit � ce script 2 param�tres (typiquement login & password), et re�oit une r�ponse (bool�en, ou autre, peu m'importe au final).

    Bref, je ne savais pas trop quoi commencer... j'ai commenc� par chercher du c�t� de TIdHttp pour user de sa m�thode Post(), mais sans trop de succ�s jusqu'� pr�sent. J'ai en effet trouv� pas mal d'exemples sur le net, tous diff�rents, tous conseillant telle ou telle m�thode. J'suis donc un peu perdu, d'o� mon message sur ce forum.

    Premi�rement, est-ce la bonne m�thode? Si non, comment devrais-je proc�der?
    Si oui, comment dois-je remplir les diff�rents champs du TIdHttp?

    Pour le moment, j'en suis arriv� � �a...

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    TMemoryStream* ms = new TMemoryStream;
            TStringList *request = new TStringList();
            request->Clear();
            request->Values["login"] = "monLogin";
            request->Values["password"] = "monPassword";
     
            IdHTTP1->Request->Connection = "Keep-Alive";
            IdHTTP1->Request->ContentType = "application/x-www-form-urlencoded";
     
            IdHTTP1->Post("http://www.quelquechose.com/connection.php", request, ms);
            ms->SaveToFile("myFile.txt");
    Mais j'ai malheureusement droit � un "Socket error #11004".

    Merci pour votre aide,

    Romain

  2. #2
    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
    WSANO_DATA (11004)
    Valid name, no data record of requested type.

    The requested name is valid and was found in the database, but it does not have the correct associated data being resolved for. The usual example for this is a hostname -> address translation attempt (using gethostbyname or WSAAsyncGetHostByName) which uses the DNS (Domain Name Server), and an MX record is returned but no A record - indicating the host itself exists, but is not directly reachable.
    Pour le moment, tu n'arrives semble-t-il m�me pas � y acc�der !
    Des FireWall peut-�tre ?

    Ce sujet pourrait t'interesser WebService et HTTPWebNode.UserName\PassWord

    Voir IdHTTP1->Request->BasicAuthentication et la prorpri�t� Authentication (TIdAuthentication) par rapport � mon utilisation manuel de HttpAddRequestHeaders.
    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

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Ao�t 2011
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Ao�t 2011
    Messages : 24
    Par d�faut
    ShaiLeTroll,

    Merci pour cette rapide r�ponse.

    Bon, j'ai bien avanc�...

    J'arrive bien � atteindre mon script. N�anmoins, il reste encore quelque chose qui coince...

    Me donne :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    array(1) {
      ["login"]=>
      string(32) "monLogin
    password=monPassword
    "
    }
    Je planche l� dessus...

    Romain

  4. #4
    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
    D'apr�s la documentation du Post
    Form field name and value pairs should be separated from each other using the '&' character. Any remaining CRLF line-end sequences found in ASource are replaced with the '&' character.
    Sinon, passe en param�tre ton login\mot de passe, c'est un peu archa�que non ?
    Regarde une m�thode plus standard dans Comment g�rer les authentifications de type HTACCESS avec le TIdHTTP ?


    Dans la FAQ Comment valider un formulaire ne contenant que des donn�es textuelles avec la m�thode POST ?,
    cela utilise directement Add(...=...) au lieu de Values[...] = ...
    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

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Ao�t 2011
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Ao�t 2011
    Messages : 24
    Par d�faut
    Merci pour les infos.

    Actuellement, je n'utilise pas BasicAuthentication, qui d'ailleurs n'apparait pas comme propri�t� de mon IdHTTP1->Request...

    Le login/password que je passe en param�tre actuellement sont des param�tres utilis�s dans mon script PHP, et non les identifiants pour l'HTACCESS.

    Tout a l'air OK en utilisant un '&' comme d�limiteur... Avec un trim en PHP qui suit bien s�r !

    Merci pour le coup de pouce !

    Romain

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Filtrage Post PHP - S�curit�
    Par geekforever dans le forum Langage
    R�ponses: 7
    Dernier message: 03/10/2010, 18h54
  2. Recup variables m�th. POST + Php non affich�
    Par brutalus dans le forum Langage
    R�ponses: 11
    Dernier message: 10/09/2010, 18h24
  3. [httplib] Probl�me formulaire post PHP
    Par Gamoth dans le forum R�seau/Web
    R�ponses: 4
    Dernier message: 27/03/2010, 13h40
  4. [PHP-JS] pb post php
    Par richton95 dans le forum Langage
    R�ponses: 6
    Dernier message: 30/01/2006, 23h42

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