URL类

Posted junjie2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了URL类相关的知识,希望对你有一定的参考价值。

/*
        通常,URL 可分成几个部分。下面的 URL 示例指示使用的协议为 http (超文本传输
        协议)并且该信息驻留在一台名为 www.socs.uts.edu.au 的主机上。主机上的信息名
        称为 /MosaicDocs-old/url-primer.html。主机上此名称的准确含义取决于协议和主
        机。该信息一般存储在文件中,但可以随时生成。该 URL 的这一部分称为路径部分:
            http://www.socs.uts.edu.au/MosaicDocs-old/url-primer.html

        URL 可选择指定一个“端口”,它是用于建立到远程主机 TCP 连接的端口号。如果未指定
        该端口号,则使用协议默认的端口。例如,http 协议的默认端口为 80。还可以指定一
        个备用端口,如下所示:
            http://www.socs.uts.edu.au:80/MosaicDocs-old/url-primer.html
 
        URL 后面可能还跟有一个“片段”,也称为“引用”。该片段由井字符 "#" 指示,后面跟有
        更多的字符。从技术角度来讲,URL 并不需要包含此片段。但是,使用此片段的目的在于
        表明,在获取到指定的资源后,应用程序需要使用文档中附加有 chapter1 标记的部分。
        标记的含义特定于资源:
            http://java.sun.com/index.html#chapter1
 
        
        应用程序也可以指定一个“相对 URL”,它只包含到达相对于另一个 URL 的资源的足够信
        息。HTML 页面中经常使用相对 URL。例如,假设 URL 的内容是:
            http://java.sun.com/index.html
        其中包含的相对 URL:
            FAQ.html
        为以下形式的缩写:
            http://java.sun.com/FAQ.html
 
        相对 URL 不需要指定 URL 的所有组成部分。如果缺少协议、主机名称或端口号,这些值将
        从完整指定的 URL 中继承。但是,必须指定文件部分。可选的片段部分不继承。

        URL 类自身并不根据 RFC2396 中定义的转义机制编码或解码任何 URL 部分。由调用方对任何
        需要在调用 URL 前进行转义的字段进行编码,并对从 URL 返回的任何经过转义的字段进行解
        码。进一步而言,由于 URL 不懂 URL 转义,所以它不会识别同一 URL 的对等编码和解码形
        式。例如,对于这两个 URL:
            http://foo.com/hello world/ 和 http://foo.com/hello%20world
            
        将被视为互不相等。注意,URI 类在某些特定情况下对其组成字段执行转义。建议使用 URI
        管理 URL 的编码和解码,并使用 toURI() 和 URI.toURL() 实现这两个类之间的转换。

        也可以使用 URLEncoder 和 URLDecoder 类,但是只适用于 HTML 形式的编码,它与 RFC2396
        中定义的编码机制不同。
*/


String    getAuthority()                :获取此 URL 的授权部分。
Object    getContent()                  :获取此 URL 的内容。
Object    getContent(Class[] classes)   :获取此 URL 的内容。
int    getDefaultPort()                 :获取与此 URL 关联协议的默认端口号。
String    getFile()                     :获取此 URL 的文件名。
String    getHost()                     :获取此 URL 的主机名(如果适用)。
String    getPath()                     :获取此 URL 的路径部分。
int    getPort()                        :获取此 URL 的端口号。
String    getProtocol()                 :获取此 URL 的协议名称。
String    getQuery()                    :获取此 URL 的查询部分。
String    getRef()                      :获取此 URL 的锚点(也称为“引用”)。
String    getUserInfo()                 :获取此 URL 的 userInfo 部分。

URLConnection    openConnection()                                     :返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。
URLConnection    openConnection(Proxy proxy)                          :与 openConnection() 类似,所不同是连接通过指定的代理建立;不支持代理方式的协议处理程序将忽略该代理参数并建立正常的连接。
InputStream    openStream()                                           :打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。
static void    setURLStreamHandlerFactory(URLStreamHandlerFactory fac):设置应用程序的 URLStreamHandlerFactory。
          
protected  void    set(String protocol, String host, int port, String file, String ref)     
    :设置 URL 的字段。
protected  void    set(String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref) 
    :设置 URL 的指定的 8 个字段。

 

以上是关于URL类的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段3——url大全

根据图片的url地址下载图片到本地保存代码片段

结合两个代码片段?将用户输入的 Youtube url 转换为嵌入 url,然后将 iframe src 替换为转换后的 url

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

如何从URL获取片段标识符(hash#之后的值)?

android.view.inflateexception 二进制 xml 文件第 7 行错误膨胀类片段