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 :

requêtes http via openssl


Sujet :

Réseau C

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut requêtes http via openssl
    Bonjout à tous,

    Tout d'abord, je n'ai pas l'habitude des forums donc désolé si je ne suis pas claire. Mon problème est le suivant:
    Je souhaite me connecter à un serverur securisé en utilsant openssl puis récupérer un fichier pdf sur ce serveur. Je n'ai pas de souci à la connexion et si je fais une requête de type GET /index.html je reçois correctemment le code html. Mais lorsque j'essaye de récupérer mon fichier pdf, je reçois bien des données mais je n'arrive pas à les afficher correctement. J'ai voulu vérifier dans l'en-tête HTTP que le type de fichier était bien pdf mais je me suis aperçue que je ne recevais pas l'en-tête HTTP.
    Voici une partie de mon 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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
     while(1){
          memset(buf,'\0',sizeof(buf));
          memset(sbuf,'\0',sizeof(sbuf));
          /* ask the user to write an HTTP request */
          FD_ZERO(&writefds);
          FD_SET(fileno(stdout),&writefds);
          nb_bytes_written = write(fileno(stdout),"Enter an HTTP request:\n",strlen("Enter an HTTP request:\n"));
          if(nb_bytes_written <= 0){
    	BIO_printf(bio_err,"error in the request writing %d\n",SSL_get_error(ssl,nb_bytes_written));
    	goto end;
          }
     
          /* read the request on stdin */
          FD_SET(fileno(stdin),&readfds);
          nb_bytes_read = read(fileno(stdin),buf,sizeof(buf));
          if(nb_bytes_read <= 0){
    	BIO_printf(bio_err,"error in the request reading %d\n",SSL_get_error(ssl,nb_bytes_read));
    	goto end;
          }
     
          /* send the client request to the server */
          FD_ZERO(&writefds);
          FD_SET(SSL_get_fd(ssl),&writefds);
          c_request_len = SSL_write(ssl,buf,nb_bytes_read);
          if (c_request_len <= 0){
    	BIO_printf(bio_err,"error in SSL_write %d\n",SSL_get_error(ssl,c_request_len));
    	goto end;
          }
     
          while(1){
    	/* read the server response (block of 4096) */
    	FD_ZERO(&readfds);
    	FD_SET(SSL_get_fd(ssl),&readfds);
    	s_response_len = SSL_read(ssl,sbuf,4096);
    	if (s_response_len < 0){
    	  BIO_printf(bio_err,"error in SSL_read %d\n",SSL_get_error(ssl,s_response_len));
    	  goto end;
    	}
    	if(s_response_len == 0)
    	  break;
     
    	/* display the server response on stdout */
    	FD_ZERO(&writefds);
    	FD_SET(SSL_get_fd(ssl),&writefds);
    	nb_bytes_written = write(fileno(stdout),sbuf,s_response_len);
    	if(nb_bytes_written <= 0){
    	  BIO_printf(bio_err,"error in the response writing %d\n",SSL_get_error(ssl,nb_bytes_written));
    	  goto end;
    	}
          }
        }
    Des idées? Merci d'avance.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 369
    Points
    50 369
    Par défaut
    Citation Envoyé par gaelle40 Voir le message
    J'ai voulu vérifier dans l'en-tête HTTP que le type de fichier était bien pdf mais je me suis aperçue que je ne recevais pas l'en-tête HTTP.
    Et tu reçois quoi ?

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    je reçois directement le code html:

    "\r\n\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML.......

Discussions similaires

  1. Requête HTTP via httpClient bien trop longue
    Par dumoulex dans le forum Entrée/Sortie
    Réponses: 39
    Dernier message: 17/10/2013, 17h31
  2. Problème Requête HTTP Via URL HTTPS
    Par newsdas dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 13/01/2011, 17h55
  3. Exécuter requête HTTP via PHP
    Par calitom dans le forum Langage
    Réponses: 0
    Dernier message: 15/07/2010, 16h11
  4. Réponses: 3
    Dernier message: 24/10/2007, 00h26
  5. Comment envoyer une requête POST via HTTP ?
    Par pdtor dans le forum C++
    Réponses: 2
    Dernier message: 13/09/2005, 06h54

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