首页 > 代码库 > URLConnection 和HttpURLConnection

URLConnection 和HttpURLConnection

   URLConnection和HttpURLConnection使用的都是java.net中的类,属于标准的java接口。

   HttpURLConnection继承自URLConnection,差别在与HttpURLConnection仅仅针对Http连接。

 

         基本步骤: 1) 创建 URL 以及 URLConnection / HttpURLConnection 对象         

        2) 设置连接参数         

        3) 连接到服务器         

        4) 向服务器写数据         

        5)从服务器读取数据

 1   public void urlConnection() 2    { 3        String urltext = ""; 4        try { 5 //          方法一: 6           URL url = new URL(urltext); 7           URLConnection conn = url.openConnection();//取得一个新的链接对指定的URL 8           conn.connect();//本方法不会自动重连 9           InputStream is = conn.getInputStream();10           is.close();//关闭InputStream11 //          方法二:12           URL url2 = new URL(urltext);13           InputStream is2 = url2.openStream();14           is2.close();//关闭InputStream15           //URL对象也提供取得InputStream的方法。URL.openStream()会打开自动链接,所以不需要运行openConnection16 17           //方法三:本方法同一,但是openConnection返回值直接转为HttpsURLConnection,18           //这样可以使用一些Http连接特有的方法,如setRequestMethod19           URL url3 = new URL(urltext);20           HttpsURLConnection conn3 =(HttpsURLConnection)url.openConnection();21           conn3.setRequestMethod("POST");22           //允许Input、Output,不使用Cache23           conn3.setDoInput(true);24           conn3.setDoOutput(true);25           conn3.setUseCaches(false);26           /*27            * setRequestProperty28            */29           conn3.setRequestProperty("Connection", "Keep-Alive");30           conn3.setRequestProperty("Charset", "UTF-8");31           conn3.setRequestProperty("Content-type", "multipart/form-data;boundary=*****");32           //在与服务器连接之前,设置一些网络参数33           conn3.setConnectTimeout(10000);34           35           conn3.connect();36         // 与服务器交互:向服务器端写数据,这里可以上传文件等多个操作37           OutputStream outStream = conn3.getOutputStream();38           ObjectOutputStream objOutput = new ObjectOutputStream(outStream);39           objOutput.writeObject(new String("this is a string…"));40           objOutput.flush();41     42           // 处理数据, 取得响应内容43           InputStream is3 = conn.getInputStream();44           is3.close();//关闭InputStream45        } catch (IOException e) {46             // TODO Auto-generated catch block47             e.printStackTrace();48         }49    }

 

URLConnection 和HttpURLConnection