begin process at 2010 02 10 09:15:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

Lire un fichier via HTTP


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Lire un fichier via HTTP

samedi 3 juillet 2004 à 22:55:36 | Lire un fichier via HTTP

yugiohjcj

Bonjour,
je programme en C et je sais ouvrir/lire/écrire un fichier grâce à fopen() sur mon disque dur. Mais là, je veux faire exactement pareil sauf que le fichier se trouverai sur le NET. Donc j'ai tapé ça:
<=======>
#include <stdio.h>
#include <stdlib.h>

main(){
FILE *fp;
char saisie[40] = "http://yugiohjcj.free.fr/NEO_compte.cpt\0";

if((fp = fopen(saisie, "r")) == NULL){
printf("\adresse incorrect!");
}//Fin de la boucle if((fp = fopen(saisie, "r")) == NULL)
if((fp = fopen(saisie, "r")) != NULL){
printf("OK!");
}//Fin de la boucle if((fp = fopen(saisie, "r")) != NULL)

}//Fin de la boucle main()
<=======>
Mais ça marche pas, on ne peut pas taper une URL. Il faut - parait-il - ouvrir ce qui s'appelle un "socket" (j'ai lu ça dans les forums). Pouvez-vous me réécrire une source qui fonctionnerai avec mon exemple. Merci. (je fais un jeu en C sous Windows qui fonctionne sur internet)
samedi 3 juillet 2004 à 23:25:57 | Re : Lire un fichier via HTTP

Arnotic

Administrateur CodeS-SourceS
Bonjour,


Tu peux regarder tu cotes de WININET notament se qui parle de la fonction InternetOpenUrlA. Tu trouveras ton bonheur !

@+
Arnotic,
Admin CS, MVP Visual C++
dimanche 4 juillet 2004 à 00:51:21 | Re : Lire un fichier via HTTP

yugiohjcj

Donc ça donnerai :
<=======>
#include <stdio.h>
#include <wininet.h>
#pragma comment(lib, "Wininet.lib")

...Et est-ce que je pourrais avoir un peu d'aide pour le reste?

/*Acheter, Vendre, Echanger des cartes Yu-Gi-Oh! Jeu de Cartes à Jouer sur yugiohjcj.free.fr*/
dimanche 4 juillet 2004 à 07:54:11 | Re : Lire un fichier via HTTP

alain34270

salut,

si tu veux juste rapatrier un fichier d'un site sur le disque de ton pc, tu peux utiliser la commande URLDownloadToFile, qui peut être d'une utilisation très simple.

a+
alain
dimanche 4 juillet 2004 à 16:11:20 | Re : Lire un fichier via HTTP

yugiohjcj

Non nje préfere le lire directement à sa place sur le NET. Mais là je retourne sous Linux, ces commandes ne sont pas portables n'est-ce pas? Je n'ai toujours pas eu la réponse pour la suite de mon code car c bien joli toutes ces belles fonctions mais faut savoir quoi mettre en paramètres ensuite.
Merci pour une explication un peu + détaillée ...
/*Acheter, Vendre, Echanger des cartes Yu-Gi-Oh! Jeu de Cartes à Jouer sur yugiohjcj.free.fr*/
dimanche 4 juillet 2004 à 18:12:43 | Re : Lire un fichier via HTTP

DeAtHCrAsH

Lu,
En faite tu parles exactement de la meme chose que eux!
Lire un fichier sur le net, équivaut a le copier sur ton disque dur puis le lire ensuite!
C'est ce que font tous les webbrowser.
Tu ne peux pas a proprement dis, lire un fichier directement sur le net!
Tu dois obligatoirement l'avoir sur ton disque dur!

Sous linux, tu dois savoir que la méthodes proposé par Arnotic avec les API, ne marche pas, et celle de alain non plus!

La seule solution portable est celle par les sockets encore que ....

Le probleme de Linux c'est qu'il n'uitlise pas tout a fait les sockets de la meme maniere que windows...

Sinon pour la méthode que propose alain, c'est simple.
Voici un exemple:

#include <stdio.h>
#include <urlmon.h>
#pragma comment (lib,"urlmon.lib")

int main()
{
printf("Debut du telechargement\n");
URLDownloadToFile(0,"http://www.monsite.fr/monfichier.txt","c:\\masauvegarde.txt",0,0);
printf("Le telechargement est fini");

return 0;
}

Si tu as besoin d'un exemple pour wininet je pourrai te poster une source en exemple...

A++ et bonne continuation

Samir


Cette discussion est classée dans : fichier, lire, saisie, fopen, fp


Répondre à ce message

Sujets en rapport avec ce message

Lire toutes les chaines d'un fichier [ par JMGR ] Salut,J'ai fait un programme qui charge toutes les chaines séparées par des espaces, et la boucle for ne se termine jamais, car la dèrnière chaine se Lire dans un fichier [ par SfyLer ] C'est bon j'ai fini mon programme ! enfin presque ! :')J'aimerais lire dans un fichier, donc je l'ouvre et j'utilise ceci:char szBuffer[5000];while(!( fichiers en C [ par boualiasma ] Salut, 1) Dans mon travail, j'utilise des fichiers. je crée un fichier "essai.txt" pour le remplir fp = fopen("essai.txt","w"); // je fais des tra Optimisation fread() découpe de fichier [ par tbpacker ] Bonjour à tous,Je me demandais pour l'utilisation de fread dans quels cas d'argument a t'on les meilleures performances?1-Lire un packet de n octets 1 fopen(...,"a") ne crée pas le fichier [ par guiltyspark ] jour,J'ai un problème avec fopen. Je l'utilise en mode append pour pouvoir créer le fichier s'il n'existe pas et écrire à la suite de celui-ci s'il ex ouverture d'un gros fichier txt ( taille > 3Mo) [ par malouve ] Bonjour, J'ai a traité des fichiers txt de valeurs dont je ne connais pas le nombre d'elements mais qui font plus de 3Mo. J'ai essayé la fonction fre union de deux fichiers [ par boualiasma ] Bonjour, Je voulais ajouter autres lignes (autres données) à la fin du fichier 'output.txt' à partir d'un autre fichier 'exp.txt' le contenu de fich remplir une chaine par des lignes d'un fichier [ par boualiasma ] Bonjour, Je voulais remplir une chaine 's' par des lignes des fichiers. par exemple si on a le fichiers "test.txt": aaa [quote]cc bbbbb deee[/quote] ouvrir un fichier en paramètre d'une fonction [ par JohnShepherd ] Bonjour à tous, svp je tente d'ouvrir en vain un fichier en paramètre dans fopen. Le problème est fopen n'utilise que des const char*. Moi ce que je v lire un fichier d'extension .bit en c [ par nourch ] bonjour, je veux savoir comment lire un fichier d'extension .bit avec le language c s'il vous plait si quelqu'un peut m'aider!! merci d'avance


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,123 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales