• 获取URL相关信息


    import java.net.URL;
    import java.net.URLConnection;
    import java.net.ConnectException;
    import java.io.IOException;
    import java.util.Date;
    import java.net.HttpURLConnection;
    
    public class GetURLInfo{
        public static void printInfo(URL url){
            System.out.println("==================URL info==================");
            //URL基本信息
            System.out.println("File ["+url.getFile()+"]");
            System.out.println("Protocol ["+url.getProtocol()+"]");
            System.out.println("Authority ["+url.getAuthority()+"]");
            System.out.println("DefaultPort ["+url.getDefaultPort()+"]");
            System.out.println("Host ["+url.getHost()+"]");
            System.out.println("Path ["+url.getPath()+"]");
            System.out.println("Port ["+url.getPort()+"]");
            System.out.println("Query ["+url.getQuery()+"]");
            System.out.println("Ref ["+url.getRef()+"]");
            System.out.println("UserInfo ["+url.getUserInfo()+"]");
            
            URLConnection c = null;
            try{
                c = url.openConnection();
                System.out.println("==================URLConnection info==================");
                //显示信息
                System.out.println("ContentType [" + c.getContentType() + "]");
                System.out.println("ContentEncoding [" + c.getContentEncoding() + "]");
                System.out.println("Content [" + c.getContent() + "]");
                System.out.println("ContentLength [" + c.getContentLength() + "]");
                System.out.println("Date [" + new Date(c.getDate()) + "]");
                System.out.println("LastModified [" + new Date(c.getExpiration()) + "]");
                System.out.println("Expiration [" + new Date(c.getLastModified()) + "]");
            
                if(c instanceof HttpURLConnection){
                    System.out.println("==================HttpURLConnection info==================");
                    HttpURLConnection httpURL = (HttpURLConnection)c;
                    System.out.println("RequestMethod [" + httpURL.getRequestMethod() + "]");
                    System.out.println("ResponseMessage [" + httpURL.getResponseMessage() + "]");
                    System.out.println("ResponseCode [" + httpURL.getResponseCode() + "]");
                    }
                }catch(IOException e){
                e.printStackTrace();
                }
            }
            
        public static void main(String[] args){
            try{
                String urlStr = "http://www.sina.com.cn:80/index.html";
                URL url = new URL(urlStr);
                printInfo(url);
            }catch(Exception e){
                System.err.println(e);
                }
            }
        }

    运行结果:

    G:maul keyboard etwork programming>javac GetURLInfo.java

    G:maul keyboard etwork programming>java GetURLInfo
    ==================URL info==================
    File [/index.html]
    Protocol [http]
    Authority [www.sina.com.cn:80]
    DefaultPort [80]
    Host [www.sina.com.cn]
    Path [/index.html]
    Port [80]
    Query [null]
    Ref [null]
    UserInfo [null]
    ==================URLConnection info==================
    ContentType [text/html]
    ContentEncoding [null]
    Content [sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@6178b9ce]
    ContentLength [21826]
    Date [Sat Sep 08 18:29:00 GMT+08:00 2018]
    LastModified [Sat Sep 08 18:28:54 GMT+08:00 2018]
    Expiration [Wed Apr 27 10:00:04 GMT+08:00 2005]
    ==================HttpURLConnection info==================
    RequestMethod [GET]
    ResponseMessage [OK]
    ResponseCode [200]

    G:maul keyboard etwork programming>

  • 相关阅读:
    Android studio 使用flutter插件 运行第一个flutter项目 报错 Warning: License for package Android SDK Build-Tools 28.0.3 not accepted.
    Android 使用GPS获取到经纬度后 无法在Android8.0上使用Geocoder类获取位置信息
    Android 利用 gson 将 json 转成 对象object 集合list
    Android 6.0 7.0 8.0 一个简单的app内更新版本-okgo app版本更新
    iview组件 eslint校验出错 Parsing error: x-invalid-end-tag
    新建 Vue项目 使用iView报错解决
    Typora 自定义主题 修改左右间距
    Vue 嵌套数组 数组更新视图不更新
    如何在手机设备上实时调试
    通过ReRes让chrome拥有路径映射的autoResponse功能。
  • 原文地址:https://www.cnblogs.com/celine/p/9610005.html
Copyright © 2020-2023  润新知