首页 > Java > java教程 > 如何在 Java 中正确编码 HTTP URL?

如何在 Java 中正确编码 HTTP URL?

Susan Sarandon
发布: 2024-12-18 19:18:12
原创
853 人浏览过

How to Properly Encode HTTP URLs in Java?

在 Java 中编码 HTTP URL 地址

在 Java 中,java.net.URLEncoder 实用程序通常用于对 HTML 表单数据进行编码。但是,由于其在处理某些字符方面的限制,它可能不适合编码 HTTP URL。

正确编码 HTTP URL 的一种方法是利用 java.net.URI 类。根据 URL 文档,“URI 在某些情况下确实会对其组件字段执行转义。”

要使用 URI 编码 HTTP URL,请创建一个具有多个参数的 URI 对象:

URI uri = new URI(
    "http", 
    "search.barnesandnoble.com", 
    "/booksearch/first book.pdf",
    null);
登录后复制

生成的 URI 将转义非法字符,从而提供预期的行为。

http://search.barnesandnoble.com/booksearch/first%20book.pdf
登录后复制

请注意,URI 仅转义非法字符。对于非 ASCII 字符,可以使用 toASCIIString 方法将 URI 转换为仅包含 US-ASCII 字符的字符串:

String request = uri.toASCIIString();
登录后复制

对于带有查询的 URL,使用 URI 的 5 参数构造函数来指定URL 路径和查询字符串:

URI uri = new URI(
        "http", 
        "www.google.com", 
        "/ig/api",
        "weather=São Paulo",
        null);
登录后复制

这种方法为用 Java 编码 HTTP URL 提供了更强大、更全面的解决方案。

以上是如何在 Java 中正确编码 HTTP URL?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板