Недавно я перенес MS Azure Translation API в V3, поскольку V2 был выведен из эксплуатации в этом апреле. Проблема в том, когда я хочу перевести текст, содержащий некоторые специальные символы, такие как%, #, =, => API реагирует на 500 внутреннюю ошибку сервера. Он не может обнаружить эти символы. Это ошибка в API перевода V3 azure.
System.Object[] body = new System.Object[] { new { Text = @textToTranslate } };
var requestBody = JsonConvert.SerializeObject(body);
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(host + detectPath + "&" + requestBody);
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", key);
client.Timeout = TimeSpan.FromMinutes(10);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var detetctContent = new StringContent(requestBody, Encoding.UTF8, "application/json");
var responseMessage = client.PostAsync(client.BaseAddress, detetctContent).Result; //here is the error comes have I missed something.
API перевода MS Azure должен распознавать специальные символы как версию V2.