我正在尝试将一些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。如何禁用网址编码或如何修复此错误?如果我将对此字符串进行编码并设置为NameValuePair,那么所有百分比字符都将由HtmlUnit编码为。
答案 0 :(得分:1)
我认为您需要使用setCharset
方法设置字符集。