Connection HTTP dossier securiser

benjamin_31 Messages postés 19 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 1 juin 2010 - 24 avril 2010 à 02:59
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 - 25 avril 2010 à 01:38
Bonjours,

Je cherche a me connecter et récupérer le contenu d'un fichier HTMl qui ce trouve sur un répertoire protéger d'un serveur.
J'ai fait pas mal de recherche et j'ai trouver cette page => http://www.javaworld.com/javaworld/javatips/jw-javatip47.html
Mais le problème c'est que c'est du java et que je veut faire mon programme en C (accessoirement en C++).

quelqu'un pourrait m'aider ?

1 réponse

katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
25 avril 2010 à 01:38
Salut, bon il faut commencer par récupérer un fichier en HTTP; plus tard tu passeras au HTTP sécurisé il faut apprendre à marcher avant de courir. On assume que tu es à l'aise avec la programmation des sockets de Berkeley.

C'est assez simple, il suffit de créer un socket qui se connecte en TCP sur le port 80 au serveur HTTP. Puis ton client et le serveur communiquent en utilisant le protocole HTTP (voir la RFC 2616). En deux mots dès qu'il est connecté le client envoie sa requête HTTP, puis reçoit les paquets du serveur. Le premier paquet contient le header HTTP, il faut l'analyser car le serveur y indique le code de réponse HTTP (ex. 404 page non trouvée, 301 redirection permanente etc). important aussi le content-length: il indique au client combien d'octets il va recevoir. Le header est terminé par deux lignes vides, le contenu du fichier demandé suit derrière.

Quand tu auras fait ça tu pourras te pencher sur l'envoi de la paire utilisateur/passe encodés en base64 comme expliqué dans ta page java. Je pense qu'il existe une API en C qui doit faire ça, genre curl. Sinon tu peux t'inspirer des sources ici-même il y en a une de haardman qui va bien.

Voilà bonne prog
0
Rejoignez-nous