当前位置: 首页 > 面试题库 >

commons-httpclient-3.1中的URIUtil.encodePath发生了什么?

娄振
2023-03-14
问题内容

我要执行问题724043中描述的操作,即对URI的路径成分进行编码。推荐这样做的类是Commons HttpClient
3.1中的URIUtil。不幸的是,该类似乎已从最新版本的HttpClient中消失。HttpClient
4.1中的类似名称的类URIUtils没有提供相同的功能。该类/方法是否已移至我不知道的其他库中,或者只是消失了?我最好只是将类从3.1版本复制到我的代码中吗,或者有更简单的方法吗?


问题答案:

该模块的维护者已命令您应改用标准JDK URI类:

URI和URIUtils被标准Java URI替换的原因非常简单:没有人愿意维护这些类。

有许多实用程序方法可帮助解决java.net.URI实现的各种问题,但否则,标准的JRE类应该足够了,不是吗?

因此,最简单的方法是查看3.1发行版中的encodePath的源,并在您自己的代码中复制它的功能(或仅将方法/类复制到您的代码库中)。

或者,您可以对所提到的问题接受公认的答案(但似乎您必须首先将URL分成几部分):

new URI(
    "http", 
    "search.barnesandnoble.com", 
    "/booksearch/first book.pdf",
    null).toString();


 类似资料:
  • 问题内容: 我希望强制 Apache Commons HTTP-Client (版本 3.1 )将 TLS 1.2 用作HTTPS 的 唯一 协议。 这是由于服务器应该升级到TLS 1.2,并且不再接受任何较旧的协议(导致返回“连接重置”)。 对于进一步的上下文(可能无关紧要),HTTP客户端与Axis2一起使用来创建SOAP;下面是用于设置HttpClient的一些代码: 非常感谢您的帮助! 问

  • 我希望强制Apache Commons HTTP客户端(3.1版)使用TLS 1.2作为HTTPS的唯一协议。 这是因为服务器应该升级到TLS 1.2,不再接受任何旧协议(导致返回“连接重置”)。 对于进一步的上下文,可能不相关,HTTP-Client与Axis2一起用于制作SOAP;下面是用于设置HttpClient的一些代码: 非常感谢你的帮助!

  • 问题内容: 它是在beta中,但不是在发布中? 问题答案: 对于后备甚至更好的是:

  • 问题内容: 我一直在我的项目中使用它,而在JDK 6u17中我对此没有任何问题。现在,我刚刚更新为6u18,我发现它已被替换为。但是,如果导入此类并尝试编译我的类,则会收到错误消息: 我可以通过NetBeans代码完成功能访问此程序包,而NetBeans不会突出显示错误代码。 任何帮助,将不胜感激! 问题答案: 我不认为该类可以替代,该类已经存在很长时间了,根本 就不适合您使用 (因此包装)。 这

  • 问题内容: 早期的javadoc 这样表示有一个接口,它似乎有一个同样的关系作为必须的。 现在看来,我们固守在,这肯定是不一样的。 发生了什么事? 问题答案: 它已被删除前一段时间。布赖恩·格茨(Brian Goetz)提出了撤职的理由: 当前,唯一的实现者是Collection,所有其他支持流的方法都使用一种比“ stream”更合适的方法名称来提供特殊的流(chars(),codePoints

  • 问题内容: 我最近一直在使用Subversive插件在Eclipse中设置SVN(我仍然有些失落,但这是另一个问题)。 我一直在使用本指南(http://soledadpenades.com/2008/12/10/add-svn-support-to-your- eclipse-installation/ ),终于使它起作用了!现在唯一的问题是,我似乎找不到Package Explorer,这是我