-1

我有一个 HttpPost 几年来一直运行良好,但我刚刚发现它无法传递某些字符(我可以看到参数在它们前往服务器之前在客户端看起来正确,我可以看到它们在服务器上以小三角形的形式到达...另外,当我从 Web 浏览器发出请求时,一切正常,因此,看起来请求没有使用正确的编码发出)。

这是我的代码:

HttpClient client = new HttpClient();
filePost = new PostMethod(URL_PATH);
filePost.setRequestBody(nvpArray);
responseCode = client.executeMethod(filePost);

我希望有一些相对直接的方法可以将此请求转换为处理 UTF-8。

或者,一种非直接的方式也足够了:)

4

1 回答 1

0

因此,在寻找了一段时间后,我发现了这个示例,结果证明需要扩展 PostMethod 并创建一个覆盖 getRequestCharSet() 并返回“UTF-8”的小类。在示例中,他们还设置了这样的内容类型:

setRequestHeader("ContentType", "application/x-www-form-urlencoded;charset=UTF-8");

我没有尝试过做一个,但不是另一个,我只是将这两部分都添加到我的代码中,现在它可以完美运行。

于 2013-05-01T02:01:31.483 回答