Проблема API перевода Azure возникает, когда я хочу перевести текст с помощью некоторых специальных символов, таких как%, =, =>, # API отвечает 500 Внутренняя ошибка сервера - PullRequest
1 голос
/ 08 апреля 2019

Недавно я перенес 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...