J’ai une URL que je veux poster un corps avec des parameters tels que data = “blahblahblah”. Cependant, mon “blahblahblah” dans ce cas est un XML à part entière, je le résume comme suit:
Je peux obtenir que cela fonctionne avec HTTPClient FormUrlEncodedContent find avec l’approche suivante.
var values = new List<KeyValuePair>(); values.Add(new KeyValuePair("data", XMLBody)); var content = new FormUrlEncodedContent(values); HttpResponseMessage sResponse = await sClient.PostAsync(action.URL, content).ConfigureAwait(false);
Maintenant, je veux que cela fonctionne avec SsortingngContent. Envoyer fondamentalement xml dans le cadre d’une valeur de paramètre, et ce xml contient le “=” . Le code ci-dessous ne fonctionne pas, car je peux le poster, mais le serveur ne reconnaît pas les données XML. Est-ce que je fais quelque chose de mal ici?
SsortingngContent content = new SsortingngContent(HttpUtility.UrlEncode(action.Body), Encoding.UTF8, "application/x-www-form-urlencoded"); HttpResponseMessage sResponse = await sClient.PostAsync(action.URL, content ).ConfigureAwait(false);
Je l’ai trouvé, je dois mettre manuellement dans la partie data =.
SsortingngContent content = new SsortingngContent("data="+ HttpUtility.UrlEncode(action.Body), Encoding.UTF8, "application/x-www-form-urlencoded"); HttpResponseMessage sResponse = await sClient.PostAsync(action.URL, content ).ConfigureAwait(false);