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

Réseau C Discussion :

Microsoft Visual c++ Requêttes HTTP


Sujet :

Réseau C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 17
    Par défaut Microsoft Visual c++ Requêttes HTTP
    Bonjour, je débute en C, et j'ai pu déjà chopper ça quelques part :

    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
     
    #include "stdafx.h"
    #include <winsock2.h>
    #include <cstdio>
    #pragma comment(lib,"ws2_32.lib")
    WSADATA initialisation_win32; // Variable permettant de récupérer la structure d'information sur l'initialisation
    int erreur; // Variable permettant de récupérer la valeur de retour des fonctions utilisées
    int tempo; // Variable temporaire de type int
    int nombre_de_caractere; // Indique le nombre de caractères qui a été reçu ou envoyé
    char buffer[65535]; // Tampon contennant les données reçues ou envoyées
    SOCKET id_de_la_socket; // Identifiant de la socket
    SOCKADDR_IN information_sur_la_destination; // Déclaration de la structure des informations lié au serveur
    int main (int argc, char* argv[])
    {
    printf("\nTCP/IP Client Simulation Caisse\n");
    erreur=WSAStartup(MAKEWORD(2,2),&initialisation_win32);
    if (erreur!=0)
    printf("\nDesole, je ne peux pas initialiser Winsock du a l'erreur : %d %d",erreur,WSAGetLastError());
    else
    printf("\nWSAStartup : OK");
    id_de_la_socket=socket(AF_INET,SOCK_STREAM,0);
    if (id_de_la_socket==INVALID_SOCKET)
    printf("\nDesole, je ne peux pas creer la socket du a l'erreur : %d",WSAGetLastError());
    else
    printf("\nsocket : OK");
    tempo=1;
    erreur=setsockopt(id_de_la_socket,IPPROTO_TCP,TCP_NODELAY,(char *)&tempo,sizeof(tempo));
    if (erreur!=0)
    printf("\nDesole, je ne peux pas configurer cette options du à l'erreur : %d %d",erreur,WSAGetLastError());
    else
    printf("\nsetsockopt : OK");
    information_sur_la_destination.sin_family=AF_INET;
    information_sur_la_destination.sin_addr.s_addr=inet_addr("IP_SERVEUR_HTTP"); 
    information_sur_la_destination.sin_port=htons(80);
    erreur=connect(id_de_la_socket,(struct sockaddr*)&information_sur_la_destination,sizeof(information_sur_la_destination));
    if (erreur!=0)
    printf("\nDesole, je n'ai pas pu ouvrir la session TCP : %d %d",erreur,WSAGetLastError());
    else
    printf("\nsetsockopt : OK");
    do{
    printf("\nRequêtte a envoyer : ");
    gets(buffer);
    nombre_de_caractere=send(id_de_la_socket,buffer,strlen(buffer),0);
    if (nombre_de_caractere==SOCKET_ERROR)
    printf("\nDesole, je n'ai pas envoyer ... %d",WSAGetLastError());
    else
    printf("\nsend : OK");
    }while(strcmp(buffer,"quit")!=0);
    erreur=closesocket(id_de_la_socket);
    if (erreur!=0)
    printf("\nDesole, je ne peux pas liberer la socket du a l'erreur : %d %d",erreur,WSAGetLastError());
    else
    printf("\nclosesocket : OK");
    J'aimerais à la plaçe de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    do{
    printf("\nRequêtte a envoyer : ");
    gets(buffer);
    nombre_de_caractere=send(id_de_la_socket,buffer,strlen(buffer),0);
    if (nombre_de_caractere==SOCKET_ERROR)
    printf("\nDesole, je n'ai pas envoyer ... %d",WSAGetLastError());
    else
    printf("\nsend : OK");
    }while(strcmp(buffer,"quit")!=0);
    Que ce soit une requêtte HTTP, de type GET ou POST (même prinçipe une fois que j'aurais compris ...)

    En gros, je n'arrive pas à former la requêtte ... ce que assigner à buffer quoi ...

    Merci de votre aide, cela m'aidera ...

  2. #2
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Pour construire ta requete sprintf est ton ami.

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/11/2005, 09h44
  2. Réponses: 2
    Dernier message: 04/11/2005, 08h43
  3. problemes avec microsoft visual c++
    Par chrysmac2003 dans le forum Autres éditeurs
    Réponses: 8
    Dernier message: 23/08/2005, 10h38
  4. Erreur de Rand avec Microsoft visual c++ 6.0
    Par yoadsl dans le forum Visual C++
    Réponses: 9
    Dernier message: 15/03/2005, 20h59
  5. Réponses: 13
    Dernier message: 21/02/2005, 14h41

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