Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用apache httpclient fluent 4.3.2在请求中设置字符集_Java_Character Encoding_Request_Apache Httpclient 4.x - Fatal编程技术网

Java 如何使用apache httpclient fluent 4.3.2在请求中设置字符集

Java 如何使用apache httpclient fluent 4.3.2在请求中设置字符集,java,character-encoding,request,apache-httpclient-4.x,Java,Character Encoding,Request,Apache Httpclient 4.x,Request.config(CoreProtocolPNames.HTTP\u CONTENT\u CHARSET,Consts.UTF\u 8)和Request.elementCharset(CHARSET)不推荐使用 现在,如何使用fluent将请求字符集设置为utf-8 Request.Post(url) .useExpectContinue() .version(HttpVersion.HTTP_1_1) .bodyString(“重要内容”,ContentType.DEFAULT_T

Request.config(CoreProtocolPNames.HTTP\u CONTENT\u CHARSET,Consts.UTF\u 8)
Request.elementCharset(CHARSET)
不推荐使用

现在,如何使用fluent将请求字符集设置为utf-8

Request.Post(url)
.useExpectContinue()
.version(HttpVersion.HTTP_1_1)
.bodyString(“重要内容”,ContentType.DEFAULT_TEXT)
.execute().returnContent().asBytes();
试试看

Request.setHeader(CoreProtocolPNames.HTTP\u CONTENT\u字符集,Consts.UTF\u 8);

这样做是正确的

Request.Post("someurl")
        .useExpectContinue()
        .version(HttpVersion.HTTP_1_1)
        .bodyString("Important stuff", ContentType.create("text/plain", Consts.UTF_8))
        .execute()
        .returnContent().asBytes();    

你到底想做什么?对HTTP消息元素(如请求行和请求头)使用非标准字符集,或者只设置请求正文的编码?我想将xml发送到HTTP服务器,并得到“无法编码未知字符集”的响应。我使用wireshark捕获我发送的http请求,显示字符集为“iso-8895-1”。我需要发送带有字符集“utf-8”的请求,但找不到如何在请求中设置它。我已经尝试了request.setHeader(“字符集”,“utf-8”)和您上面提到的,但它不起作用。我使用addHeader(“内容类型”,“字符集=utf-8”),效果很好,谢谢