begin process at 2012 05 30 18:29:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Linux

 > 

Réseau & Internet

 > 

telechargement d'un fichier sur internet


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

telechargement d'un fichier sur internet

jeudi 1 juin 2006 à 19:53:01 | telechargement d'un fichier sur internet

fredleconte

Salut, Voila j'essaie de telecharger un fichier http mais je ne sais pas comment recevoir le fichier help please. voici le programme: // Download d'un fichier http par Iluvatar le 26/05/2006 #include #include #include #include #include #include #include #include #include // #define DEBUG ////////////////////////////////////////////////////////////////////// int envoie( int sock,char *text) { return( send(sock, text, strlen( text), 0)); } int recois( int sock, char *text, int len) { int r; r= recv(sock, text, len, 0); text[r]=0; return( r); } int download( char*name, char *destination) { int sock; struct sockaddr_in serv_addr; struct hostent *server; int port=80; int i,r; char *p_txt; char url[256]; int length; char *length_txt; char buffer[65535]; int f; #ifdef DEBUG printf( "creation socket\n"); #endif if((sock=socket(AF_INET, SOCK_STREAM, 0)) == -1) { perror("socket"); return(1); } strcpy( url, name); p_txt=strchr( url, '/'); if ( p_txt!=NULL) { *p_txt='\0'; // printf( "serveur%s txt:%s", buffer, p_txt+1); if(!(server=gethostbyname( url))) { printf("Erreur DNS\n"); return 1; } } else { printf( "URL malformee\n"); return( 1); } serv_addr.sin_family = AF_INET; /* serv_addr.sin_addr[0] = server->h_addr[0]; serv_addr.sin_addr[1] = server->h_addr[1]; serv_addr.sin_addr[2] = server->h_addr[2]; serv_addr.sin_addr[3] = server->h_addr[3]; */ serv_addr.sin_addr = *(struct in_addr*)server->h_addr; serv_addr.sin_port = htons(port); // printf("connect\n"); if (connect(sock,(struct sockaddr*) &serv_addr, sizeof(serv_addr)) < 0) { printf("erreur connect"); return 1; } // get du fichier #ifdef DEBUG printf( "GET"); #endif strcpy( buffer, "GET /"); strcat( buffer, p_txt+1); strcat( buffer, " HTTP/1.1\r\n"); strcat( buffer, "User-Agent: Mozilla/5.0\r\n"); strcat( buffer, "Accept: text/html, image/jpeg, image/png, text/*, image/*, */*\r\n"); strcat( buffer, "Accept-Encoding: x-gzip, x-deflate, gzip, deflate\r\n"); strcat( buffer, "Accept-Charset: utf-8, utf-8;q=0.5, *;q=0.5\r\n"); strcat( buffer, "Host: "); strcat( buffer, url); strcat( buffer, "\r\nConnection: Keep-Alive"); strcat( buffer, "\r\n\r\n"); #ifdef DEBUG printf( "buffer:%s\n", buffer); #endif envoie( sock, buffer); recois( sock, buffer, sizeof( buffer)); if ( strstr( buffer, "200 OK")!=NULL) { length_txt=strstr( buffer,"Content-Length:"); // cherche le debut de la phrase 'Content-lenght' *strstr( length_txt, "\r\n")='\0'; // met 0 en fin de longueur du fichier length=atoi( length_txt+strlen( "Content-Length:")); #ifdef DEBUG printf( "fichier %s de longueur:%i\n", fichier, length); #endif f=open( destination, O_CREAT | O_WRONLY); for( i=1; i
jeudi 1 juin 2006 à 20:09:13 | Re : telechargement d'un fichier sur internet

ben92600

manque des \n (je crois mdr)
vendredi 2 juin 2006 à 09:20:09 | Re : telechargement d'un fichier sur internet

katsankat

Membre Club
Salut :)
Regardes du côté de l' API URLMON c'est vraiment le plus simple sur Win32. 
vendredi 2 juin 2006 à 09:25:29 | Re : telechargement d'un fichier sur internet

24Karas

il y a une chiée d'exemple avec des méthodes différentes sur le site, il suffit de chercher un peu ...

http://www.cppfrance.com/recherche.aspx?r=Telechargement&tr=source
vendredi 2 juin 2006 à 18:19:17 | Re : telechargement d'un fichier sur internet

ncoder

Réponse acceptée !
Go here
http://www.cppfrance.com/code.aspx?ID=28914


Cette discussion est classée dans : int, include, sock, serv, addr


Répondre à ce message

Sujets en rapport avec ce message

Client/Serveur avec thread sous linux [ par frater_sinister ] J'ai un prblm avec ce programme. Avant tout le but de ce code: le client envoit un fichier au serveur, ce dernier renvoit le nombre de lignes/mots/let Unix: sockets & Co [ par bounkolh ] Bonjour, Je cherche de l'aide pour compléter les ............ du fichier client.c permettant d'interroger le serveur implementé par server.c. Listing socket raw [ par moi zork ] Bonjour,Je suis entrain de m'entrainer sur les socket raw et je bute sur :#include #include using namespace std;int main (void){    int sock;  sock = multicast en c sous windows [ par tenrod ] Bonsoir a tous,voila j'ai un petit (voire un gros) pb avec le développement d'une application me permettant de faire du multicast en c sous windows.J' socket trop lents [ par cid7777777 ] bonjour,jessaye de faire un jeu qui peu se jouera 2 en reseau local.je ne connais absolument rien en reso, mais en fouillant sur le net,  jai trouver Multiples messages non reçus...:(( [ par Gendal67 ] Bonsoir tout le monde!Je suis actuellement en cours d'apprentissage des Sockets et j'ai crée une application Client/Server pouvant communiquer ensembl Prob avec les sockets [ par Sload ] Bonjour à tous ! Voila mon probleme , j'essaye de develloper un logiciel client/serveur. Je n'en suis qu'au tout début et j'ai déja un probleme lol ! pb communication socket [ par skyman272 ] bonjourvoici un petit programme client/serveur pour un projet à l'insa (sous linux).Le programme client envoi un message au programme serveur qui lui Besoin d'aide sur les Thread Pour Bot MirC [ par nem02004 ] Bon voila g fai un bot mirc et en fai jaimerai lammener en 3 fois car ca va etre un bot dannimanimation ki sera en 3 pseudo ( ki parleron ensemble tot Help, DevC++ fonction retournant un float, résultat très étrange... [ par yom007 ] Bonjour,   je travaille sous devC++ et là c'est l'incompréhension, peut-etre qu'une ame charitable pourra venir à mon secours...J'ai reussi à isoler m


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 0,733 sec (3)

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