2011-05-04 78 views
1

我想发送一些HTTP POST参数到一些Web服务器和一个参数包含西里尔字符。所以问题是,如果我使用此代码:Java + HtmlUnit - 与西里尔文urlencode问题


wc.getPage(requestSettings); 

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

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

服务器将收到的下一个urlencoded的参数: enter image description here 这是不对的解码字符串“Дружебобер”。 所以我认为HtmlUnit使用ASCII而不是Unicode编码核心网址。如何禁用网址编码或如何解决此错误?如果我将这个字符串编码并设置为NameValuePair,所有百分号字符将由HtmlUnit编码为。

回答

1

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

+0

好的,但这是什么方法? – purple 2011-05-04 21:07:47