response.Content.ReadAsStringAsync().Result 返回的Json字串中文字变成\u8d44\u4ea7这种字符
ivanl 2020-08-27 04:20:47 private void HttpSendRequest(string HTTPMethods,string RequestURL, string epicorLogin, string XAPIKey, string jsonStr, ref string ResponseStatusCode, ref string ResponseBody, ref string IsSuccessStatusCode, ref string ErrorMessage, ref string ExceptionMsg)
{
try
{
//Ignore SSL certificates
var handler = new WebRequestHandler();
handler.ServerCertificateValidationCallback = delegate { return true; };
using (HttpClient client = new HttpClient(handler))
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(epicorLogin)));
// Add an Accept header for JSON format.
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("X-API-Key", XAPIKey);
string TokenCreateURL = RequestURL;
var request = new HttpRequestMessage();
HttpResponseMessage response = null;
if (HTTPMethods == "POST")
{
request.RequestUri = new Uri(TokenCreateURL);
request.Method = HttpMethod.Post;
//send user credential
request.Content = new StringContent(jsonStr, Encoding.UTF8, "application/json");
response = client.SendAsync(request).Result;
ResponseStatusCode = Convert.ToString((int)response.StatusCode);
}
if (HTTPMethods == "DELETE")
{
response = client.DeleteAsync(TokenCreateURL).Result;
ResponseStatusCode = Convert.ToString((int)response.StatusCode);
}
if (HTTPMethods == "GET")
{
response = client.GetAsync(TokenCreateURL).Result;
ResponseStatusCode = Convert.ToString((int)response.StatusCode);
}
//Get response
if (response.IsSuccessStatusCode)
{
IsSuccessStatusCode = "Yes";
}
else
{
IsSuccessStatusCode = "No";
}
ResponseBody = response.Content.ReadAsStringAsync().Result;
//Deserialize ResponseBody and catch "ErrorMessage"
if (ResponseBody.IndexOf("\"ErrorMessage\"") > 0)
{
dynamic dyn = Newtonsoft.Json.JsonConvert.DeserializeObject(ResponseBody);
foreach (var obj in dyn)
{
if (obj.Name == "ErrorMessage")
{
ErrorMessage = Convert.ToString(obj.Value);
break;
}
}
}
}
}
catch (AggregateException ex)
{
ExceptionMsg = ex.ToString();
}
}