J'essaie d'effectuer un POST sur un site en utilisant une requête Web en C#. Le site sur lequel je poste est un site SMS et le message texte fait partie de l'URL. Pour éviter les espaces dans l'URL j'appelle HttpUtility.Encode() à l'URL l'encoder."Le format de l'URI n'a pas pu être déterminé" avec WebRequest
Mais je continue à obtenir un URIFormatException - « URI non valide: Le format de l'URI ne peut pas être déterminée » - lorsque j'utilise un code similaire à ceci:
string url = "http://www.stackoverflow.com?question=a sentence with spaces";
string encoded = HttpUtility.UrlEncode(url);
WebRequest r = WebRequest.Create(encoded);
r.Method = "POST";
r.ContentLength = encoded.Length;
WebResponse response = r.GetResponse();
L'exception se produit quand je l'appelle WebRequest.Create().
Qu'est-ce que je fais mal?
Comme discuté dans [ce post SO] (http://stackoverflow.com/a/1148326/5838198), il est préférable d'utiliser 'Uri.EscapeDataString()' à la place des méthodes 'HttpUtility' ou' Server' . – Siavas