如何使用WSRequest API处理ISO-8859-1编码的请求?

时间:2016-03-23 14:22:16

标签: java playframework

我目前正在尝试向一个不使用标准UTF-8编码的真正旧网站发出请求,并且某些查询参数包含特殊字符,例如á éã

我无法在传递查询参数之前使用URLEncoder,因为它会重新编码所有内容并使参数变得混乱。

所以我需要告诉WSRequest不要编码任何东西,或者按照我想要的方式对它进行编码。

这是我创建请求的块:

WSRequest request = ws.url(URL)
                .setQueryParameter("ST", uf)
                .setQueryParameter("CT", cap)
                .setQueryParameter("segment", segment)
                .setQueryParameter("period", period);

如果我尝试在WSRequest上使用标准编码,á将被编码到%C3%A1而不是%E1,这是我真正想要的。

1 个答案:

答案 0 :(得分:0)

必须切换到OkHttp,因为它支持添加已经编码的查询参数:

addEncodedQueryParameter(String key, String value)