我正在尝试将一些HTTP POST参数发送到某些Web服务器,并且其中一个参数包含西里尔字符。所以问题是,如果我使用以下代码:


wc.getPage(requestSettings);

requestSettings.setHttpMethod(HttpMethod.POST);
requestSettings.setRequestParameters(new ArrayList());

requestSettings.getRequestParameters().add(new NameValuePair("username", "Друже бобер"));
wc.getPage(requestSettings);


服务器将收到下一个urlencoded参数:

这是错误的解码字符串“Дружебобер”。
所以我认为HtmlUnit使用ASCII而不是Unicode来编码url。如何禁用URL编码或解决此错误?如果我将这个字符串编码并设置为NameValuePair,那么所有百分比字符都将被HtmlUnit编码为。

最佳答案

我认为您需要使用setCharset方法设置字符集。

关于java - Java + HtmlUnit —西里尔字母urlencode的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5887142/

10-09 00:39