IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques Discussion :

bibliotheque pour http


Sujet :

Bibliothèques

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 74
    Points : 56
    Points
    56
    Par défaut bibliotheque pour http
    salut tout le monde,

    existe-il des api c sous linux permettant la manipulation du protocole http?

    merci d'avance .

  2. #2
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    tu peux nous en dire un peu plus ???
    as tu jeté un oeil sur curl ??
    Rien ne se perd, rien ne se crée, tout se transforme

    ------- -------

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 74
    Points : 56
    Points
    56
    Par défaut
    voilà ce que je veux faire:
    me connecter a un serveur http pour recupérer des fichier xml en lui envoyant des url.
    NB:
    je programme avec du C;
    j'en connais pas trop en HTTP c'est pour ça que je cherche des api me permettant l'utilisation de ses fonctionnalitées (connexion au serveur, envoi de la requête et recupèration des fichiers) sans avoir implementer le protocole.

  4. #4
    Membre régulier Avatar de mackla
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 140
    Points : 120
    Points
    120
    Par défaut
    Envoyé par sofiane80
    voilà ce que je veux faire:
    me connecter a un serveur http pour recupérer des fichier xml en lui envoyant des url.
    NB:
    je programme avec du C;
    j'en connais pas trop en HTTP c'est pour ça que je cherche des api me permettant l'utilisation de ses fonctionnalitées (connexion au serveur, envoi de la requête et recupèration des fichiers) sans avoir implementer le protocole.
    06/05/2008 09h24
    pour ça, il te faut des sockets. la connexion au serveur, l'envoie et la récéption se font sur ces sockets, et concernat le HTTP, il suffit d'ouvrir sur le port 80.
    tutoriel pour commencer

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 74
    Points : 56
    Points
    56
    Par défaut solution
    Citation Envoyé par mackla Voir le message


    pour ça, il te faut des sockets. la connexion au serveur, l'envoie et la récéption se font sur ces sockets, et concernat le HTTP, il suffit d'ouvrir sur le port 80.
    tutoriel pour commencer
    ok ça marche très bien.
    voici une traduction de ce que vous aviez dit en C:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    int init_sock_client(char *remote_ip, u_short remote_port){
     
     
    int sockfd;
    struct sockaddr_in serv_addr;
    struct hostent *server;
    u_long addre;
     
     
     
    	sockfd = socket(AF_INET, SOCK_STREAM, 0);
    	if (sockfd < 0){ 
    		error("ERROR opening socket",0); 
    		return 0;
    	}
     
     
    	addre=inet_addr(remote_ip);
    	server = gethostbyaddr((char *)&addre,sizeof(addre),AF_INET);
    	if (server == NULL) {
    		error("ERROR, no such host\n",0);
    		return 0 ;
    	}
     
    	bzero((char *) &serv_addr, sizeof(serv_addr));
    	serv_addr.sin_family = AF_INET;
    	bcopy((char *)server->h_addr, (char *)&serv_addr.sin_addr.s_addr,server->h_length);
    	serv_addr.sin_port = htons(remote_port);
     
    	if (connect(sockfd,(struct sockaddr*)&serv_addr,sizeof(serv_addr)) < 0){ 
    		error("ERROR connecting",0); return 0;
    	}
     
     
       return sockfd ;
    }
     
     
     
    int main (int argc ,char** argv){
     
    	int sockfd, n;
    	char buffer[255];
    	size_t len=0;
    	char *answer;
     
    	FILE *f;
     
     
     
    	sockfd=init_sock_client("l'addresse IP du serveur", port_du_serveur);
     
    	bzero(buffer,255);
    	sprintf(buffer,"%s","GET url\n");
    	write(sockfd,buffer,strlen(buffer));
    	bzero(buffer,255);
     
    	while ((n=read(sockfd,buffer,1024))!=0){
    				answer=realloc(answer,n+len);
    				memcpy(answer+len,buffer,n);
    				len+=n;
    				bzero(buffer,1024);
    				}
    	colse(sockfd);
    	f=fopen("filename.xml","wb");
    	fwrite (answer, 1,len, f);
    	fclose(f);
    	free(answer);
     
    	return EXIT_SUCCESS;
     
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche Bibliotheque pour USB
    Par usbeck dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 15/04/2013, 17h15
  2. Réponses: 8
    Dernier message: 13/07/2006, 02h17
  3. Réponses: 3
    Dernier message: 12/07/2006, 11h42
  4. Une sélection des meilleures bibliothèques pour C et C++
    Par Community Management dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 21/07/2004, 13h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo