你能分享一个URL解析实现的链接吗?

Iva*_*van 12 java string url parsing scala

据我了解,URL包含以下字段:

  • 协议(http,https,ftp等)
  • 用户名
  • 用户密码
  • 主机地址(IP地址或DNS FQDN)
  • 端口(可以暗示)
  • 服务器文档根目录内的文档路径
  • 一组参数和值
  • 文件部分(#)

protocol://user:password@host:port/path/document?arg1=val1&arg2=val2#part

我需要一个代码来从任何给定的URL字符串中获取任何这些字段的值(如果未设置则为null /空值).我自己实现这个还是已经有了代码,所以我不需要发明一个轮子?

我对Scala或Java代码特别感兴趣.C#,PHP,Python或Perl代码也很有用.

Cod*_*nci 19

URL类为您提供所需的一切.请参阅http://download.oracle.com/javase/6/docs/api/java/net/URL.html

URL url = new URL("protocol://user:password@host:port/path/document?arg1=val1&arg2=val2#part");
url.getProtocol();
url.getUserInfo();
url.getAuthority();
url.getHost();
url.getPort();
url.getPath(); // document part is contained within the path field
url.getQuery();
url.getRef(); // gets #part
Run Code Online (Sandbox Code Playgroud)


use*_*421 9

为此使用java.net.URI类.URL用于实际资源和真实协议.URI用于可能不存在的协议和资源.