首页 > 编程语言 >20230627 java.net.URL

20230627 java.net.URL

时间:2023-08-29 17:14:51浏览次数:38  
标签:20230627 Console log URL url net throws String

介绍

  • java.net.URL
  • public final class URL implements java.io.Serializable
  • URI 是个纯粹的语法结构,包含用来指定 Web 资源的字符串的各种组成部分
  • URL 是 URI 的一个特例,它包含了用于定位 Web 资源的足够信息

URL 语法

authority 部分具有以下形式:

[user-info@]host[:port]

API

static

  • setURLStreamHandlerFactory
    • 设置应用程序的 URLStreamHandlerFactory
    • 该方法在给定的 Java 虚拟机中最多可以调用一次
    • URLStreamHandlerFactory 实例用于根据协议名称构造流协议处理器

构造器

  • URL(String protocol, String host, int port, String file) throws MalformedURLException
  • URL(String protocol, String host, String file) throws MalformedURLException
  • URL(String protocol, String host, int port, String file, URLStreamHandler handler) throws MalformedURLException
  • URL(String spec) throws MalformedURLException
  • URL(URL context, String spec) throws MalformedURLException
  • URL(URL context, String spec, URLStreamHandler handler) throws MalformedURLException

public

  • openConnection

    • URLConnection openConnection() throws java.io.IOException
    • 返回一个 URLConnection 对象,该对象负责管理与资源之间的连接
  • openStream

    • 打开一个用于读取资源数据的输入流
    • 等同于 openConnection().getInputStream();
  • getContent

    • 获取此 URL 的内容
    • 不实用,可能返回流对象
    • 等同于 openConnection().getContent()
  • getDefaultPort

    • 获取协议的默认端口号
  • sameFile

    • 比较两个 URL,不包括 fragment
  • toExternalForm

    • 构造此URL的字符串表示形式
    • 功能同 toString
  • toURI

    • URI

获取 URL 的组件

  • getProtocol
  • getAuthority
  • getUserInfo
  • getHost
  • getPort
    • 返回 -1 表示未定义
  • getPath
  • getQuery
    • 查询,即URL中 ? 后面的键值对
  • getFile
    • 文件名
  • getRef
    • 锚点,即URL中 # 后面的部分

代码示例

URL url = new URL("https://www.bilibili.com/video/BV1Rj411D7Eg/?spm_id_from=333.1007.tianma.1-1-1"
        + ".click&vd_source=4a4c5fa550920bace1f35eeab12544f0");

Console.log(url);

Console.log("Protocol :: ",url.getProtocol());
Console.log("Authority :: ",url.getAuthority());
Console.log("UserInfo :: ",url.getUserInfo());
Console.log("Host :: ",url.getHost());
Console.log("Port :: ",url.getPort());
Console.log("Path :: ",url.getPath());
Console.log("Query :: ",url.getQuery());
Console.log("File :: ",url.getFile());
Console.log("Ref :: ",url.getRef());


Console.log("----------------------------------");

Console.log(url.getDefaultPort());
Console.log(url.getContent());

打印结果:

https://www.bilibili.com/video/BV1Rj411D7Eg/?spm_id_from=333.1007.tianma.1-1-1.click&vd_source=4a4c5fa550920bace1f35eeab12544f0
Protocol ::  https
Authority ::  www.bilibili.com
UserInfo ::  null
Host ::  www.bilibili.com
Port ::  -1
Path ::  /video/BV1Rj411D7Eg/
Query ::  spm_id_from=333.1007.tianma.1-1-1.click&vd_source=4a4c5fa550920bace1f35eeab12544f0
File ::  /video/BV1Rj411D7Eg/?spm_id_from=333.1007.tianma.1-1-1.click&vd_source=4a4c5fa550920bace1f35eeab12544f0
Ref ::  null
----------------------------------
443
sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@7d9f158f

标签:20230627,Console,log,URL,url,net,throws,String
From: https://www.cnblogs.com/huangwenjie/p/17650397.html

相关文章

  • 20230627 java.net.URI
    介绍java.net.URIpublicfinalclassURIimplementsComparable,SerializableURI是个纯粹的语法结构,包含用来指定Web资源的字符串的各种组成部分URL是URI的一个特例,它包含了用于定位Web资源的足够信息URI语法URI具有以下句法:[scheme:]schemeSpecficPart[#fra......
  • 20230627 java.net.Socket
    介绍java.net.SocketpublicclassSocketimplementsjava.io.Closeable套接字(Socket)是网络软件中的一个抽象概念,负责启动该程序内部和外部之间的通信API构造器Socket()Socket(Proxyproxy)Socket(Stringhost,intport)throwsUnknownHostException,IOException......
  • 20230627 java.net.ServerSocket
    介绍java.net.ServerSocketpublicclassServerSocketimplementsjava.io.Closeable服务器套接字ServerSocket类用于建立套接字,accept用于告诉程序不停地等待,直到有客户端连接到这个端口。一旦有人通过网络发送了正确的连接请求,并以此连接到了端口上,该方法就会返回一个表......
  • 20230627 java.net.InetSocketAddress
    介绍java.net.InetSocketAddresspublicclassInetSocketAddressextendsSocketAddressAPI构造器InetSocketAddress(intport)InetSocketAddress(InetAddressaddr,intport)InetSocketAddress(Stringhostname,intport)publiccreateUnresolved创建未解析的I......
  • 20230627 java.net.InetAddress
    介绍java.net.InetAddresspublicclassInetAddressimplementsjava.io.Serializable因特网地址,是一串数字表示的主机地址(IPv4是4字节,IPv6是16字节)支持在主机名和因特网地址之间进行转换封装了一个字节序列(IPv4是4字节),byte的取值范围是[-126,125),IPv4的大小......
  • 20230627 java.nio.channels.SocketChannel
    介绍java.nio.channels.SocketChannelpublicabstractclassSocketChannelextendsAbstractSelectableChannelimplementsByteChannel,ScatteringByteChannel,GatheringByteChannel,NetworkChannelAPIopen打开一个套接字通道,并将其连接到远程地址bindconne......
  • 20230627 java.nio.channels.Channels
    介绍java.nio.channels.ChannelsAPIstaticnewInputStreamnewOutputStreamnewChannelReadableByteChannelnewChannel(InputStreamin)WritableByteChannelnewChannel(OutputStreamout)newReadernewWriter......
  • Bugku-misc-telnet
    刚结束的ciscn,里面的要是有这么简单就好了。下载附件,是个pcap文件,打开wireshark分析一节一节看过去就找到了flag没难度的~~~......
  • go的net/http有哪些值得关注的细节
     原创 小白 小白debug 2023-08-1408:33 发表于上海收录于合集#go语言1个#面试17个#后端19个golang的net/http库是我们平时写代码中,非常常用的标准库。由于go语言拥有goroutine,goroutine的上下文切换成本比普通线程低很多,net/http库充分利用了这个优势,因此,它......
  • Kubernetes
    一、简介   k8s、Google开源。容器编排引擎。   k8s的目标是让部署容器化的应用简单且高效【powerful】,k8s提供应用部署,规划,更新,维护的一种机制。   支持自动化部署、大规模可伸缩。应用容器化管理。二、组成    一个k8s系统,通常称为一个k8s集群【......