HttpURLConnection(二)

package com.cmy.urlcon;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;

public class HttpURLConnectionDemo {

    public static void main(String[] args) throws Exception {
        // crwyUrl();
        //getURLData1();
        //getURLData2();
        
        urlSupportType();
    }

    public static void crwyUrl() throws Exception {

        URL url = new URL(
                "http://blog.csdn.net/a9529lty/article/details/6454145");
        Object obj = url.getContent();
        System.out.println(url.getContent());
        System.out.println(obj.getClass().getName());
        HttpURLConnection con = (HttpURLConnection) url.openConnection();

        Reader read = new InputStreamReader(url.openStream());
        URLConnection urlConnection = url.openConnection();
        InputStream in = urlConnection.getInputStream();
        int c;
        while ((c = in.read()) != -1) {
            System.out.print((char) c);
        }
        url.getAuthority();

    }

    public static void getURLData1() throws Exception {
        URL url = new URL(
                "http://lavasoft.blog.51cto.com/attachment/200811/200811271227767778082.jpg");
        Object obj = url.getContent();
        System.out.println("getURLData1获取指定资源: " + obj.getClass().getName());
    }

    public static void getURLData2() throws Exception {
        URL url = new URL(
                "http://blog.csdn.net/chenzheng_java/article/details/6248090");
        URLConnection con = url.openConnection();
        InputStream in = con.getInputStream();
        int c;
        while ((c = in.read()) != -1) {
            System.out.print((char) c);
        }
        in.close();
    }

    public static void getURLData3() throws Exception {
        URL url = new URL(
                "http://blog.csdn.net/chenzheng_java/article/details/6248090");
        InputStream in = url.openStream();
        int c;
        while ((c = in.read()) != -1) {
            System.out.print((char) c);
        }
        in.close();
    }

    public static void urlSupportType() throws Exception {
        String host = "www.java2s.com";
        String file = "/index.html";

        String[] schemes = { "http", "https", "ftp", "mailto", "telnet",
                "file", "ldap", "gopher", "jdbc", "rmi", "jndi", "jar", "doc",
                "netdoc", "nfs", "verbatim", "finger", "daytime",
                "systemresource" };

        for (int i = 0; i < schemes.length; i++) {
            try {
                URL u = new URL(schemes[i], host, file);
                System.out.println(schemes + " is supported\r\n");
            } catch (Exception ex) {
                System.out.println(schemes + " is not supported\r\n");
            }
        }
    }
    
    /**
     * HttpURLConnection getMethod
     * @return
     * @throws Exception
     */
    public static String urlDoGet() throws Exception{
        URL url = new URL("http://localhost:8080/OneHttpServer/");
        HttpURLConnection con = (HttpURLConnection)url.openConnection();
        
        con.setRequestProperty("Accept-Charset","utf-8");
        con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
        con.setConnectTimeout(3000);
        con.setDoInput(true);
        con.setDoOutput(true);
        con.setUseCaches(false);
        String cookie0 = con.getHeaderField("Set-Cookie");
        
        InputStream inputStream = null;
        InputStreamReader inputStreamReader = null;
        BufferedReader bfReader = null;
        StringBuffer sb = new StringBuffer();
        String readLine = null;
        
        if(con.getResponseCode() >= 300){
            throw new Exception("HTTP Request is not success, Response code is " + con.getResponseCode());
        }
        
        try {
            inputStream = con.getInputStream();
            inputStreamReader = new InputStreamReader(inputStream);
            bfReader = new BufferedReader(inputStreamReader);
            while((readLine = bfReader.readLine()) != null){
                sb.append(readLine);
            }
            
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            bfReader.close();
            inputStreamReader.close();
            inputStream.close();
        }
        
        return sb.toString();
    }
    
    /**
     * HttpURLConnection postMethod
     * @return
     * @throws Exception
     */
    public static String urlDoPost() throws Exception{
        URL url = new URL("http://localhost:8080/OneHttpServer/");
        HttpURLConnection con = (HttpURLConnection)url.openConnection();
        String parameterData = "username=nickhuang&blog=http://www.cnblogs.com/nick-huang/";
        
        con.setRequestProperty("Accept-Charset","utf-8");
        con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
        con.setConnectTimeout(3000);
        con.setDoInput(true);
        con.setDoOutput(true);
        con.setUseCaches(false);
        String cookie0 = con.getHeaderField("Set-Cookie");
        
        OutputStream outputStream = null;
        OutputStreamWriter outputStreamWriter = null;
        InputStream inputStream = null;
        InputStreamReader inputStreamReader = null;
        BufferedReader bfReader = null;
        StringBuffer sb = new StringBuffer();
        String readLine = null;
        
        try {
            outputStream = con.getOutputStream();
            outputStreamWriter = new OutputStreamWriter(outputStream);
            outputStreamWriter.write(parameterData.toString());
            outputStreamWriter.flush();
            
        } catch (Exception e) {
            // TODO: handle exception
        }
        
        if(con.getResponseCode() >= 300){
            throw new Exception("HTTP Request is not success, Response code is " + con.getResponseCode());
        }
        
        try {
            inputStream = con.getInputStream();
            inputStreamReader = new InputStreamReader(inputStream);
            bfReader = new BufferedReader(inputStreamReader);
            while((readLine = bfReader.readLine()) != null){
                sb.append(readLine);
            }
            
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            outputStreamWriter.close();
            outputStream.close();
            bfReader.close();
            inputStreamReader.close();
            inputStream.close();
        }
        
        return sb.toString();
    }
}

 

posted @ 2017-01-11 17:25  公众号java-codestack  阅读(287)  评论(0编辑  收藏  举报