我正在为我的所有 Web 访问使用 apache http 客户端 4。这意味着我需要执行的每个查询都必须通过 URI 语法检查。我尝试访问的网站之一使用 UNICODE 作为 url GET 参数编码,即:
(参数“srh_txt=%u05E0%u05D9%u05D1”在 UNICODE 中编码 srh_txt=ניב)
问题是 URI 不支持 UNICODE 编码(它只支持 UTF-8)这里真正的大问题是,这个网站希望它的参数以 UNICODE 编码,所以任何尝试使用 String.format( " http://...srh_txt=%s& ...",URLEncoder.encode( "ניב" , "UTF8")) 生成一个合法的 url,可用于构造 URI,但站点响应它带有错误消息,因为它不是它期望的编码。
顺便说一句,可以创建 URL 对象,甚至可以使用未转换的 url 连接到网站。有没有办法以非 UTF-8 编码创建 URI?有没有办法使用常规 URL(而不是 URI)使用 apache httpclient 4?
谢谢,尼夫