400 неправильных запросов [Content-Length: 0, Chunked: false] - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь вызвать API.Всякий раз, когда я включаю 'é' в тело запроса, получаю 400 неправильных запросов.Когда я удаляю 'é', все работает отличнониже приведен мой код и ответ.

CloseableHttpClient httpClient = (CloseableHttpClient) getHttpClient();
            HttpPost httpPost = getHttpPost("xxx");
            StringEntity entity = new StringEntity(request.toString());
            entity.setChunked(false);
            httpPost.addHeader("content-type", "application/json");
            httpPost.setEntity(entity);
            System.out.println("contentlength = "+String.valueOf(entity.getContentLength()));
            CloseableHttpResponse response = (CloseableHttpResponse) httpClient.execute(httpPost);
           System.out.println("response = "
                + response);

            StatusLine statusLine = response.getStatusLine();
           System.out.println("statusLine = "
                + statusLine);

            String responseEntity = EntityUtils.toString(response.getEntity());
           System.out.println("responseEntity = "
                + responseEntity);

Ответ:

contentlength = 964 response = HttpResponseProxy {HTTP / 1.1 400 Bad Request [Content-Length: 0, Chunked: false]} statusLine = HTTP / 1.1 400 Bad Request responseEntity =

Ответы [ 2 ]

0 голосов
/ 05 марта 2019
StringEntity entity = new StringEntity(request.toString(),"UTF-8");

это решило проблему.

0 голосов
/ 25 февраля 2019

Установите тип контента на:

"application/json;charset=UTF-8" 

при отправке почтового запроса в используемом вами приложении.

...