Gambas France BETA


Pas de compte ? Incription

gb.net.curl http Qui l'a déjà utilisé ?

1
AuteurMessages
Pablodetaix#1 Posté le 8/3/2010 à 18:31:00
Bonjour à tous,

j'ai une carte électronique type relais commandés, avec serveur web.
j'arrive a établir la connexion en http (si pas de login/password)
mais si j'arrive à utiliser le "get" pour avoir les infos, par contre je n'arrive pas à utiliser le "post".
Je n'ai pas trouvé grand chose en exemples, si l'un d'entre vous a des infos pratiques la dessus,
je serais preneur ! Merci

Pablo
jeanyvon#2 Posté le 10/3/2010 à 11:20:00
Gambas? Ma! Et gustoSalut Pablo,
le seul qui a vraiment de l'expérience c'est pierre mais il ne vient plus guère sur le nouveau forum.
Demande à spheris de te donner les postes de cet horloger. Si il le veut bien!
Pierre est belge et horloger et il a mis au point un prog pour piloter une Cdt numérique en Gambas
A+
JY
Vieillir? On peut retarder mais pas y échapper!
spheris#3 Posté le 10/3/2010 à 13:37:00
pablodetaix,
j'ai là une discussion de gambix qui nous explique comment utiliser GB sur un serveur web avec les Get et Post.

La voici pour tous pour ceux que cela interesse

http://gambaslinux.eg2.fr/file/print.pdf

A+
;)
Pablodetaix#4 Posté le 10/3/2010 à 18:48:00
Je vais lire cela pour tacher de comprendre.

avec ma carte électronique qui a serveur web avec login/password j'ai réussi a passer le login
puis au fil des nuits blanches j'ai réussi (avec un tuyau "extérieur") à comprendre que
parfois pour envoyer vers la carte il fallait faire un get ! et pas un post.

je vais fignoler mes tests et je proposerais un exemple si vous voulez.

en fait si on a "une machine avec un serveur web" comment deviner s'il faut faire des "get" ? ou des "post"
d'après ce que je découvre du html ce serait écrit en début de 1ere page.
et ensuite j'ai fait un essai avec un switch qui a une interface web.
pas moyen de le faire réagir.
mais je crois que c'est parceque je connais rien au html et consords

Merci à vous,
je vous tiens au courant, bonne soirée,
Pablo.
MrGoodFriend#5 Posté le 25/2/2012 à 22:58:40
Le sujet n'est plus d'actualité mais voici un exemple de post avec httpclient :

HttpClient1.Post("application/x-www-form-urlencoded", "login=xxx&password=xxx")

spheris#6 Posté le 25/2/2012 à 23:56:50
Bon j'avance un peu sur ton probleme et commence à comprendre les rouage de httpclient :

pour un GET :

1
2
3
4
PUBLIC SUB Button1_Click()
HttpClient1.URL = "[url=http://gambaslinux.eg2.fr/error.php]http://gambaslinux.eg2.fr/error.php[/url]" 'ca c'est le fichier a telecharger
HttpClient1.Get(Application.Path & "/error.php") 'ca c'est le fichier a recevoir sur ton ordi.
END


ensuite la connexion :

1
2
3
PUBLIC SUB HttpClient1_Connect() 'la il se connecte
lmessage.Text = "en cours de connexion"
END


Si il y a une erreur :

1
2
3
PUBLIC SUB HttpClient1_Error()
lmessage.Text = "Erreur"
END


enfin si tout a marché :

1
2
3
PUBLIC SUB HttpClient1_Finished()
lmessage.Text = "ca a marché"
END


Maintenant pour le POST c'est le trou noir :D
Je tente des trucs mais c'est erreur sur erreur
Je comprends tes nuits blanches remplies de trous noirs :D
spheris#7 Posté le 26/2/2012 à 00:20:10
Bon j'ai trouvé un super exemple d'utilisation de POST ici :
http://pastebin.com/HVdmtFLa

Il semble que l'envoi post doit correspondre avec ce qu'attend le serveur c'est a dire une suite de variables sous la forme :

"Temperature=100&FromUnit=degreeCelsius&ToUnit=degreeFahrenheit"
soit champ1=valeur1&champ2=valeur2,etc...
1