ConnectandGetall

sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 24 avril 2006 à 18:54
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 25 avril 2006 à 14:10
bonjour ,

je debute un peu en delphi et je me retrouve bloquer avec une procedure utilisant un composant TIdHTTP :

voila le code de la procedure :



procedure Tfm_main.getHTTP(url : string);

var

response : string;

begin

ShowMessage(url);

IdHTTP1.Host := url;

IdHTTP1.Port := 80;

response := IdHTTP1.ConnectAndGetAll();

ShowMessage(response);

end;


j'ai une erreur socket error 11004 alors que l'host est bon



si vous aviez une idee...



merci


"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"

6 réponses

Utilisateur anonyme
24 avril 2006 à 19:25
Salut,

Je viens de faire deux test avec la fonction suivante :

procedure TForm1.Button1Click(Sender: TObject);
var
response,url : string;
begin
url:=Edit1.text; // J'ai fais deux test avec www.google.fr et 66.249.87.104
ShowMessage(url);
IdHTTP1.Host := url;
IdHTTP1.Port := 80;
response := IdHTTP1.ConnectAndGetAll();
ShowMessage(response);
end;

Je n'ai eu aucune erreur : hormis que mon application était figée en voulant la fermée (mais si on ferme proprement IdHTTP : plus de soucis).

Peux etre que tu as pas paramétré ton composant IdHTTP ?
Peux être un probleme avec ta variable URL ?
Tu peux passer ton code stp que l'on fasse des tests ?
N'oublie pas de mettre un antifreeze sur ta form.

Merci
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
24 avril 2006 à 19:38
je te le passerais demain je n'ai pas le projet sur ce pc

merci

++

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
Utilisateur anonyme
24 avril 2006 à 19:53
Re

Tu as pris comme host : http//www.google.fr par exemple. A priori il n'aime pas "http://" ni "//".
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
24 avril 2006 à 19:54
il faudrais que je laisse rien que le www.monhost.com ?

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
24 avril 2006 à 22:46
Re,

Excuse moi je faisais un petit projet. Comme je te l'ai dis précédemment j'ai fais une form avec juste un boutton et j'ai inclus ce petit code :
procedure TForm1.Button1Click(Sender: TObject);
var
response,url : string;
begin
url:=Edit1.text; // J'ai fais deux test avec www.google.fr et 66.249.87.104
ShowMessage(url);
IdHTTP1.Host := url;
IdHTTP1.Port := 80;
response := IdHTTP1.ConnectAndGetAll();
ShowMessage(response);
end;

Je n'ai pas eu le message d'erreur :"socket error 11004". J'ai donc cherché pourquoi tu l'avais eu : j'ai donc rentré http://www.google.fr puis //www.google.fr et là j'ai eu "socket error 11004". Donc si je me trompe pas ton erreur est levée si tu utilises juste www.google.fr.

Deux petits conseils si je peux :
-Les composants Indy sont parfois capricieux : il faut mieux utiliser avec Try Except Finally. Ca évite les plantages.
-Utilises un IdAntiFreeze pour pas bloquer ton application car Indy utilise les sockets bloquants.

Si tu recherches un petit composant pour afficher une page HTML il existe HTMLLite comme composant.

Si tu veux réaliser ton propre "navigateur" : tu peux utiliser un composant qui se trouve dans la palette (regarde à Internet) : c'est le TWebBrowser. Cependant il utilise l'apple d'Internet Explorer. C'est donc une limitation.

Si tu veux un petit exemple : IdHTTP et HTMLLite je dois en avoir un sous la main. Passe moi ton adresse mail de CS en MP et je te le Upload pour demain matin si je suis pas à la bourd comme ce matin (lol).

A+
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
25 avril 2006 à 14:10
re

merci de t'occuper de moi ^^

je te passe ce que j'ai coder :

{procedure permettant de recuperer le contenu d'une page}

procedure Tfm_main.getHTTP(url : string);

var

response : string;

begin

ShowMessage(url);

IdHTTP1.Host := url;

IdHTTP1.Port := 80;

response := IdHTTP1.ConnectAndGetAll();

ShowMessage(response);

end;





{procedure recuperant un login et un mot de passe et qui verifie si ils existent en appelant une url qui renvoi true ou false}

procedure TAuth.Button1Click(Sender: TObject);

begin



fm_main.getHTTP('http://www.XXX.fr/XX/traitement.php?user='+ login.Text + '&pass='+ pass.Text);





end;



sinon je veux bien pour les exemple si ca te derange pas tu pourrais
les envoyer a cette adresse ( amoins que tu voi le bug avant ) :
daedric@hotmail.fr



+++



merci

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0
Rejoignez-nous