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

VB.NET Discussion :

Problème accents HTTP POST


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut Problème accents HTTP POST
    Bonjour,

    En Vbnet, j'appelle une page ASP (VBScript). Je passe dans cette page un flux XML en POST que je récupère dans la page ASP. Mon problème est que les caractères accentués sont transformés en "?" dans ma page ASP. Avez vous une solution pour obtenir mes caractères correctement ?


    Merci.

    Code VbNet (Envoi du flux) :
    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
     Dim req As WebRequest
                AdresseServeur = "toto.asp"
                Try
                    'req = CType(WebRequest.Create(AdresseServeur), HttpWebRequest)
                    req = WebRequest.Create(AdresseServeur)
                Catch ex As Exception
                    Throw New Erreur.WebHttpException(AdresseServeur, ex)
                End Try
     
                req.Credentials = System.Net.CredentialCache.DefaultCredentials
                req.Method = "POST"
                req.ContentType = "application/x-www-form-urlencoded"
     
                'inserer la taille des fichiers
                'd'abord celle du flux ensuite
                req.ContentLength = dataToPost3.Length
     
                Dim tempstream As Stream = req.GetRequestStream
                tempstream.Write(dataToPost3, 0, dataToPost3.Length)
                tempstream.Close()
     
                Dim reponse As WebResponse = req.GetResponse()
     
                'affichage de la réponse
                Dim sr As New StreamReader(reponse.GetResponseStream, encoding.ASCII)
                ReponseServeur = sr.ReadToEnd
                sr.Close()
    Code VbScript (Récupération du flux) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    'Lecture des données du POST
    post=request.BinaryRead(request.Totalbytes)
     
    ...
     
    'Conversion octets->ascii, xmltext contient le flux XML
    for nIndex = 1 to pivot+9
    	xmltext = xmltext & Chr(AscB(MidB( post, nIndex, 1)))
    next
     
    ' Ici, xmltext contient des "?" à la place des "é" par exemple ...

  2. #2
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Je n'ai jamais travaillé en ASP.NET mais les symptômes que vous décrivez sont typiquement ceux d'un problème d'encodage.

    De ce que je vois, votre streamreader est ouvert en ASCII. Est-ce bien le même encode que votre page ASP.NET ?

    Griftou.

  3. #3
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    Le flux XML est envoyé via la méthode "Dim reponse As WebResponse = req.GetResponse()" de VbNet. Le flux est encodé en ASCII coté VbNet, mais je ne sais pas comment le récupérer avec le même type coté VbScript... De ce que j'ai compris, le "AscB" lit avec ANSI...

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

Discussions similaires

  1. Problème de requête POST HTTP
    Par 2001hal dans le forum Android
    Réponses: 12
    Dernier message: 08/08/2014, 18h46
  2. problème accents dans post de page jsf
    Par ktaria dans le forum JSF
    Réponses: 0
    Dernier message: 08/01/2013, 15h13
  3. Réponses: 1
    Dernier message: 21/01/2010, 14h20
  4. Réponses: 2
    Dernier message: 07/02/2008, 10h28
  5. [Zip] Problème accent et zip
    Par MrEddy dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 04/06/2004, 11h40

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