Socket en C formulaire

KSB -  
 KSB -
Bonjour,
J'aimerais savoir comment faire pour envoyer des données dans un formulaire en C socket.
Ma connexion marche parfaitement j'arrive à me connecter au serveur !
J'aimerais savoir : imaginons une page avec un seul formulaire. J'aimerais que mon programme envoie une chaine de caractere dans le formulaire et qu'il reçoit une confirmation du serv pour savoir si la chaine est valide ou non.

1 réponse

Mcmido
 
Je vois bien les socket en C et les langages WEB mais je ne vois pas le rapport avec un formulaire. Pourrais tu s'il te plait expliquer d'avantage? Merci.
0
KSB
 
Oui.
J'ai un site page d'acceuil une image et un champs de formulaire. Pour pouvoir acceder au reste du site, il faut entrer le mot clé valide ( un "mot de passe " quoi ) je voudrais que mon programme se connecte sur le site ( ça c'est ok ) et qu'il fasse ce qu'un user normal ferrais : rentrer le mot de passe ou du moins imiter cela. Comment est-ce possible en socket ?
0
Mcmido
 
Je te conseil d'utiliser la libraire CURL pour se faire.

En fait tu dois envoyer une requête HTTP qui contient la valeur du champ de ton formulaire (comme si tu cliquais sur le bouton valider de ton formulaire).
0
KSB
 
Je vais voir pour cURL, mais si on reste sur le socket, il faut que je fasse send( sock,buffer,30,0) ou est ce que je met la valeur du champ de mon formulaire ?
Je passe surement à coté de quelque chose. C'est la premiere fois que j'utilise les socket j'aimerais donc bien comprendre avant d'utiliser des lib toutes faites like cURL ... :)
0
Mcmido
 
Dans ton buffer il faut que tu mettes le contenu de la requête HTTP, par exemple :
char *param = "passwd=lavaleurdetonformulaire"; 
sprintf(buffer, "POST /scriptform.php HTTP/1.1\r\nHost:http://tonsite.fr\r\nContent-type:application/x-www-form-urlencoded\r\nContent-length: %d \r\n\r\n%s\r\n\r\n", strlen(param), param); 


Franchement tu vas t'embêter pour rien, je te conseil fortement d'utiliser curl.
0
KSB
 
Merci beaucoup ! Le serv renvoie qqchose si le champs est invalide ?
0