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();//关闭InputStream
11 //          方法二:
12           URL url2 = new URL(urltext);
13           InputStream is2 = url2.openStream();
14           is2.close();//关闭InputStream
15           //URL对象也提供取得InputStream的方法。URL.openStream()会打开自动链接,所以不需要运行openConnection
16 
17           //方法三:本方法同一,但是openConnection返回值直接转为HttpsURLConnection,
18           //这样可以使用一些Http连接特有的方法,如setRequestMethod
19           URL url3 = new URL(urltext);
20           HttpsURLConnection conn3 =(HttpsURLConnection)url.openConnection();
21           conn3.setRequestMethod("POST");
22           //允许Input、Output,不使用Cache
23           conn3.setDoInput(true);
24           conn3.setDoOutput(true);
25           conn3.setUseCaches(false);
26           /*
27            * setRequestProperty
28            */
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();//关闭InputStream
45        } catch (IOException e) {
46             // TODO Auto-generated catch block
47             e.printStackTrace();
48         }
49    }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。