Encodage d'un HTTP-POST

Encodage d'un HTTP-POST - C#/.NET managed - Programmation

Marsh Posté le 25-08-2002 à 21:18:09    

J'ai fait une fonctions permettant d'envoyer une requete POST sur un site web, mais les accents sont mal encodée. Je tape éèà, et sur le serveur, il n'affiche 5 ou 6 caractère. Donc je pense qu'il récupère de l'UTF-16 au lieu d'un bon vieil iso-8859-15. Comment faire pour encoder ça proprement ?
 
Voici mon code :

Code :
  1. string messageToPost = txtMessage.Text;
  2.       System.Console.WriteLine ("Message to post : {0}", messageToPost);
  3.       txtMessage.Text = "";
  4.       System.Net.WebClient myWebClient = new System.Net.WebClient ();
  5.       System.Collections.Specialized.NameValueCollection postValues =
  6. new System.Collections.Specialized.NameValueCollection ();
  7.      
  8.       /* les options de post */
  9.       postValues.Add ("board_section", "1" );
  10.       postValues.Add ("message", messageToPost);
  11.      
  12.       /* les headers en bonus */
  13.       myWebClient.Headers.Add ("user-agent", title);
  14.       byte [] responseArray = myWebClient.UploadValues (postAddr, "POST", postValues);


 
txtMessage est un System.Windows.Forms.TextBox.
 


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 25-08-2002 à 21:18:09   

Reply

Marsh Posté le 26-08-2002 à 08:27:10    

il faut que tu encodes les caractères spécieux en respectant cette règle : http://www.macromedia.com/support/ [...] coding.htm

Reply

Marsh Posté le 26-08-2002 à 08:36:17    

rajoute dans ton header :
 
Content-Type: text/html; charset=ISO-8859-1


Message édité par youdontcare le 26-08-2002 à 08:36:35
Reply

Marsh Posté le 26-08-2002 à 08:44:36    

Merci de cette indication, mais cette classe refuse que je lui tripote son header :
 

Code :
  1. Message to post : Essai des accents : éèà
  2. Unhandled Exception: System.Net.WebException: The Content-Type header cannot be
  3. changed from its default value for this request.
  4.    at System.Net.WebClient.UploadValues(String address, String method, NameValue
  5. Collection data)
  6.    at org.kadreg.coincoin.CoinCoinForm.postMessage()


 


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed