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

ASP.NET Discussion :

[C#] Problème avec une requête WebRequest/WebResponse


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut [C#] Problème avec une requête WebRequest/WebResponse
    Salut,

    J'ai des difficultés avec le bout de code suivant, qui me renvoie des exceptions uniquement en mode debug alors que ça compile correctement. Voilà le bout de 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
     
    ...
    string buffdt = "";
    			WebHeaderCollection webHC = null;
    			ClassCommonVar clsCV = new ClassCommonVar();
    			WebResponse webResp = null;
    			try
    			{								WebRequest webReq = WebRequest.Create("http://" + (string) ftpList[0] + clsCV.reqSynchro);				
    				webResp = webReq.GetResponse();				
     
    				buffdt = (webResp.Headers["Date"]).ToString();				
    			}
    			catch(Exception ex)
    			{
    				FormErr1 frmE = new FormErr1("Problème de synchronisation date/heure : "+ex.ToString());
    				frmE.ShowDialog();						   
    			}
    			finally
    			{
    				webResp.Close();
    			}
    ...
    Les exceptions sont successivement les suivantes :
    A la ligne webResp = webReq.GetResponse();, j'ai une erreur du type System.IO.FileNotFoundException 2 fois.
    Puis, sur la même ligne un SystemUriException.
    Sur la ligne webResp.Close();, j'ai deux erreurs : System.FormatException puis System.IO.IOException (chunk length was not valid).

    Voilà si quelqu'un pouvait m'expliquer ces différentes erreurs...
    Merci d'avance.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut
    Bon en fait l'erreur bloquante est celle concernant le chunk length.

    En ayant étudié un peu le cas, cela vient du fait que la réponse du serveur à la requête qui lui a été envoyée contient les éléments suivants :

    • Transfert-Encoding: chunked\r\n
      ...
      Data chunk: 50 octets
      Chunk size: 50 octets
      Data (50 bytes)
      Chunk boundary


    La réponse reçue est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <HTML>..OK:Fri Apr 14 16:10:01 CEST 2006..</HTML>
    Si on compte la longueur de la réponse, elle fait 49 octets.
    Donc, c'est ça qui ne va pas ?
    Qu'en pensez-vous ?
    Avez-vous des suggestions sur la résolution de ce problème ?
    Il faut agir sur le serveur ?

    Merci pour toute information complémentaire.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut
    Bon finalement, j'ai fini par trouver, il faut préciser la version du protocole utilisée par le serveur WEB : en l'occurrence 1.0.

    -----------------------------------------------------------------
    HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create("http://" + (string) ftpList[0] + clsCV.reqSynchro);
    webReq.ProtocolVersion = new Version(1, 0);
    webResp = (HttpWebResponse)webReq.GetResponse();
    Stream respStream = webResp.GetResponseStream();
    StreamReader reader = new StreamReader(respStream);
    buffdt = reader.ReadToEnd();
    -----------------------------------------------------------------

    Donc l'instruction webReq.ProtocolVersion = new Version(1, 0);
    ne rend plus l'application bloquante.

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

Discussions similaires

  1. [TADOQuery] Problème avec une requête
    Par yannba dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/01/2006, 13h51
  2. Problème avec une requête
    Par demonark dans le forum Langage SQL
    Réponses: 3
    Dernier message: 19/09/2005, 05h35
  3. Problème avec une requête
    Par ringostarr dans le forum Langage SQL
    Réponses: 5
    Dernier message: 19/04/2005, 20h34
  4. Problème avec une requête
    Par snoopy69 dans le forum Débuter
    Réponses: 2
    Dernier message: 20/01/2005, 12h39
  5. problème avec une requête imbriquée
    Par jaimepasteevy dans le forum Langage SQL
    Réponses: 13
    Dernier message: 05/12/2003, 10h29

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