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

Visual C++ Discussion :

requete HTTP C++


Sujet :

Visual C++

  1. #1
    Membre régulier
    Avatar de lionceau
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 148
    Points : 111
    Points
    111
    Par défaut requete HTTP C++
    Bonjour
    Voila j'ai une webcam réseau pilotable DLINK DCS-5220

    J'utilise le C++ avec VS2008 (Microsoft Visual Studio 2008), j'aimerai envoyer une requète HTTP à la webcam en mode get.
    Et franchement Je ne sais pas comment faire en C++..

    Pour mieux comprendre ce problème :
    Sur un PC client je tape dans le navigateur l'adresse de ma webcam suivis de l'action, par exemple pour monter la webcam vers le haut je tape : http://192.168.1.125/cgi-bin/camctrl.cgi?move=up


    Alors comment faire ce type d'action en C++?

    Merci pour votre réponse.

    Cordialement,

    Lionceau

    P.S. :
    Je fais ca pour un projet en BTS IRIS.


    Merci pour votre aide et cordialement.

    Lionceau,

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Faut regarder du côté des classes CHttp*** des MFC.
    MSDN : Steps in a Typical Internet Client Application

    Cours et tutoriels pour apprendre C++ : https://cpp.developpez.com/cours/

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    ton url renvoie quelque chose ?
    tu peux essayer ceci:
    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
        CInternetSession session;
        CInternetFile* file = NULL;
        try
        {
            file = (CInternetFile*)session.OpenURL(theUrl);
        }
        catch (CInternetException* m_pException)
        {
    
            file = NULL;
            m_pException->Delete();
        }    
        if (file)
        {
            CString somecode;        
            while (file->ReadString(somecode) != NULL)
            {
    // stockage eventuel du retour...
            }
    
            file->Close();
            delete file;
        }

  4. #4
    Membre régulier
    Avatar de lionceau
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 148
    Points : 111
    Points
    111
    Par défaut Réponse au topic
    Bonjour,

    Merci pour votre aide,

    J'ai cherché depuis le début de la matinée et j'ai réussi à faire quelque chose de simple et qui marche avec des sockets.

    Voici le code :
    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
     
    	//Pour info sur socket -> http://www.iprezo.org/index.php?page=sockc		
     
    	Adresse_IP_Webcam->Text="192.168.1.125 debug";  //<-------------- WARNING A CHANGER
     
    	WSADATA WSAData;
    	WSAStartup(MAKEWORD(2,0), &WSAData);
     
        SOCKET sock;
        SOCKADDR_IN sin;
     
        string srequete = "GET /cgi-bin/camctrl.cgi?move=up HTTP/1.1\r\n"; 
    	srequete += "User-Agent: Navigateur flo pour webcam\r\n";
    	srequete += "Host: 192.168.1.125\r\n";
    	srequete += "Connection: Keep-Alive, TE\r\n";
    	srequete += "\r\n";
     
        size_t requete_taille = srequete.size() + 1;
     
    //    char crequete[requete_taille]; j'ai mis 1024 pour la valeur de la requete
    	char crequete[1024];
     
    	strncpy( crequete, srequete.c_str(), requete_taille );
     
    	sin.sin_addr.s_addr = inet_addr("192.168.1.125"); 
        sin.sin_family = AF_INET;
        sin.sin_port = htons(80); // port HTTP.
     
    	sock = socket(AF_INET,SOCK_STREAM,0);
    	bind(sock, (SOCKADDR *)&sin, sizeof(sin));
     
    	// Création de socket. "AF_INET" correspond à l'utilisation du protocole IPv4
    	// au niveau réseau. "SOCKADDR"  correspond à l'utilisation du protocole  TCP, "SOCK_DGRAM" correspond à l'utilisation du protocole UDP,
    	// au niveau transport. La valeur 0 indique qu'un seul protocole sera utilisé
    	// avec ce socket.
    	connect(sock, (SOCKADDR *)&sin, sizeof(sin)); // on se connecte sur le site web.
        send(sock, crequete, requete_taille, 0); // on envoie la requête HTTP.
    Cordialement,

    Lionceau,

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

Discussions similaires

  1. C++ et requete http
    Par vodevil dans le forum C++
    Réponses: 6
    Dernier message: 13/06/2006, 17h16
  2. Réponses: 5
    Dernier message: 28/04/2006, 09h20
  3. [URL] Encoder une URL (requete Http)
    Par webspeak dans le forum Général Java
    Réponses: 14
    Dernier message: 29/03/2006, 10h47
  4. Réponses: 2
    Dernier message: 20/06/2005, 14h57
  5. [http] comment faire une requete http
    Par Slimer dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 28/07/2004, 11h48

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