• Java URL处理



     URL(Uniform Resource Locator)中文名为统一资源定位符,有时也被称为网页地址。表示为互联网上的资源,如网页或者FTP地址。

    URL可以分为如下几个部分:

    protocol://host:port/path?query#fragment
    

    protocol(协议)可以是HTTP、HTTPS、FTP和File,port为端口号,path为文件路径及文件名。

    URL解析:

    • 协议(protocol):http
    • 主机(host:port):www.baidu.com
    • 端口号(port):80,以上URL实例并未并未指定端口,因为HTTP协议默认的端口号为80。
    • 文件路径(path):/index.html
    • 请求参数(query):language=cn
    • 定位位置(fragment):j2se,定位到网页中id属性为j2se的HTML元素的位置。

    URL类方法

    java.net包中定义了URL类,该类用来处理有关URL的内容。对于URL类的创建和使用,下面分别进行介绍。

    java.net.URL提供了丰富的URL构建方式,并可以通过java.net.URL来获取资源。

    URL类中包含了很多方法用于访问URL的各个部分,具体方法描述如下:

    实例

    package pkg2020华南虎;
    
    import java.net.*;
    import java.io.*;
    
    /**
     *
     * @author yl
     */
    public class URLDemo {
    
        public static void main(String[] args) {
            try {
                URL url = new URL("https://i-beta.cnblogs.com/posts/edit;postId=12299874");
                System.out.println("URL为:" + url.toString());
                System.out.println("协议为:" + url.getProtocol());
                System.out.println("验证信息:" + url.getAuthority());
                System.out.println("文件名及请求参数:" + url.getFile());
                System.out.println("主机名:" + url.getHost());
                System.out.println("路径:" + url.getPath());
                System.out.println("端口:" + url.getPort());
                System.out.println("默认端口:" + url.getDefaultPort());
                System.out.println("请求参数:" + url.getQuery());
                System.out.println("定位位置:" + url.getRef());
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    }
    

    结果:

    run:
    URL为:https://i-beta.cnblogs.com/posts/edit;postId=12299874
    协议为:https
    验证信息:i-beta.cnblogs.com
    文件名及请求参数:/posts/edit;postId=12299874
    主机名:i-beta.cnblogs.com
    路径:/posts/edit;postId=12299874
    端口:-1
    默认端口:443
    请求参数:null
    定位位置:null
    成功构建 (总时间: 0 秒)
    

    URLConnections类方法  

    openConnection()返回一个java.net.URLConnection.

    例如:

    • 如果你连接HTTP协议的URL,openConnection()方法返回HttpURLConnection对象。
    • 如果你连接的URL为一个JAR文件,openConnection()方法将返回JarURLConnection对象。

    实例:

    package pkg2020华南虎;
    
    import java.net.*;
    import java.io.*;
    
    /**
     *
     * @author yl
     */
    public class URLConnDemo {
    
        public static void main(String[] args) {
            try {
                URL url = new URL("http://www.baidu.com");
                URLConnection urlConnection = url.openConnection();
                HttpURLConnection connection = null;
                if (urlConnection instanceof HttpURLConnection) {
                    connection = (HttpURLConnection) urlConnection;
                } else {
                    System.out.println("请输入URL地址");
                    return;
                }
                BufferedReader in = new BufferedReader(
                        new InputStreamReader(connection.getInputStream())
                );
                String urlString = "";
                String current;
                while ((current = in.readLine()) != null) {
                    urlString += current;
                }
                System.out.println(urlString);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    会输出百度首页。


    什么他妈的叫他妈的惊喜!
  • 相关阅读:
    linux学习记录-----vsftpd服务安装配置
    PTA数据结构第一次作业
    第十一次作业
    第十次作业
    第九次作业
    第八次作业
    第七次作业
    第六次作业
    第五次作业
    第四次作业
  • 原文地址:https://www.cnblogs.com/2020yl/p/12299874.html
Copyright © 2020-2023  润新知