Fopen() => ouvrir une URL

Signaler
Messages postés
26
Date d'inscription
samedi 3 juillet 2004
Statut
Membre
Dernière intervention
18 août 2004
-
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
-
Bonjour,
je programme en C et si j'ai du mal à progresser, c'est parce que je ne veux pas avoir un beau résultat sans savoir comment je l'ai obtenu.
Ce que j'ai compris c'est qu'avec la fonction fopen() on ne peut taper une URL. Il faut passer par un protocole HTTP (port 80). Et pour cela, il faut créer un socket.
Je n'utilise pas les API de Windows, pour l'instant, je me contente encore des librairies comme: stdio.h, stdlib.h, string.h, ...Ce qui est bien c'est qu'elles sont aussi compatibles avec Linux!
Un socket: ça me gène. D'abord ça demande beaucoup de lignes de code car il faut commencer par l'initialiser, puis donner les infos du serveur, puis...Et puis on utilise pleins de fonctions comme "return" que je n'utilisais jamais auparavant dans mes programmes.
Ce que je vous demande, c'est vraiement une super explication (avec des lignes de codes pour exemple) sur :
Comment lire un fichier sur http://.../fichier.txt avec fopen() comme on le ferait pour un fichier qui se trouverai sur le disque ou est executer le programme?

PS:Le moins de lignes possibles et le plusn commenté serait parfait.

/*Acheter, Vendre, Echanger des cartes Yu-Gi-Oh! Jeu de Cartes à Jouer sur yugiohjcj.free.fr*/
:big)

2 réponses

Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
POur cela, il n'existe a ma connaissance ke 2 moyens :

-socket avec winsock par exemple,
-une api du nom URLDownloadToFile().

2 méthodes par lesquelles tu ne voulais pas passer, mais ki sont obligatoires pour toucher a la programmation reseau.
Pour des exemples de ces methodes, il existe une tonne de sources sur le site.

++

Alhexman
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
3
Salut,
Ce sont aussi les 2 seuls moyens que je connais.
La solution avec les sockets est un peu plus compliquée, et prend plus de code, mais elle fonctionne sous linux.