我正在尝试将一些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/