J'essaie de publier des données Unicode à l'aide du message de requête Http. D'une certaine façon, l'encodage du contenu cause des problèmes. Je ne définis aucun encodage explicitement dans mon code. Par exemple, j'essaie d'envoyer 'รั ค' & côté client, il est reçu comme 'ภ£ ภ± à¸'.Publication de données Unicode à l'aide de HttpClient
Exemple de code
var cookieContainer = new CookieContainer();
using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer, })
using(var httpClient = new HttpClient(handler)){
//set all cookies
foreach (var obj in configurationData["request_cookies"])
{
var cookie = ((JProperty)(obj));
cookieContainer.Add(new Uri(configurationData["request_cookie_base_url"].ToString()),
new Cookie(cookie.Name, HttpUtility.UrlEncode(cookie.Value.ToString())));
}
var request = new HttpRequestMessage();
request.Method = HttpMethod.Post;
request.RequestUri = new Uri(configurationData["form_url"].ToString());
//set all request headers
foreach (var obj in configurationData["request_headers"])
{
var cookie = ((JProperty) (obj));
request.Headers.Add(cookie.Name, cookie.Value.ToString());
}
request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded"));
//get request content data from configurationData as keyvalue pair
var contentValue = parsedCrmConfigurationData["form_data_template"]
.ToObject<Dictionary<string, string>>();
request.Content = new FormUrlEncodedContent(contentValue);
var response = httpClient.SendAsync(request).Result;
response.EnsureSuccessStatusCode();
}
Ai-je besoin de passer coder en particulier? si oui alors comment?
S'il vous plaît aidez-moi à comprendre le problème.
Je veux simuler formulaire web demande de poste en utilisant le code C#. Etes-vous sûr que je devrais utiliser le type de contenu 'application/json' au lieu de 'application/x-www-form-urlencoded'? – biker
vous pouvez également utiliser l'application/x-www-form-urlencoded au lieu de l'application/json –