java 基础一 <Http请求>

1.get请求方式

 1  public void httpGet() throws  Exception {
 2         Log.e(TAG, "-----------httpGet-------------");
 3         URL url=new URL("http://www.baidu.com");
 4         HttpURLConnection conn= (HttpURLConnection)url.openConnection();
 5         conn.setRequestMethod("GET");//GET必须大小
 6         conn.setConnectTimeout(5000);
 7         int code=conn.getResponseCode();
 8         Log.e(TAG,"code:" + code);
 9        if (code == 302) {
10             String location = conn.getHeaderField("Location");
11             String cookies = conn.getHeaderField("Set-Cookie");
12            Log.e(TAG, "重定向,跳转地址:" + location +", cookies="+cookies);
13             URL serverUrl = new URL(location);
14             conn = (HttpURLConnection) serverUrl.openConnection();
15             conn.setRequestMethod("GET");//GET必须大小
16             conn.setConnectTimeout(5000);
17             conn.setRequestProperty("Cookie", cookies);
18             conn.connect();
19         }
20         code=conn.getResponseCode();
21         Log.e(TAG,"code:" + code);
22         if(code==200){
23             ByteArrayOutputStream byteArrayInputStream=new ByteArrayOutputStream();
24             InputStream inputStream= conn.getInputStream();
25             byte[] data=new byte[1024];
26             int len=0;
27             while ((len=inputStream.read(data))!=-1){
28                 byteArrayInputStream.write(data,0,len);
29             }
30             if(inputStream!=null)inputStream.close();
31             String string=byteArrayInputStream.toString();
32             Log.e(TAG,"data="+string);
33         }
34     }

2.Post请求

 1    public void httpPost() throws  Exception {
 2         Log.e(TAG, "-----------httpPost-------------");
 3         URL url = new URL("url地址");
 4         HttpURLConnection conn = (HttpURLConnection) url.openConnection();
 5         conn.setConnectTimeout(5000);
 6         //-------post 特殊有数据----------
 7         conn.setRequestMethod("POST");
 8         conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
 9         String data="user=lisi&pwd=123";
10         conn.setRequestProperty("Content-Length",String.valueOf(data.length()));
11         conn.setDoOutput(true);
12         OutputStream outputStream= conn.getOutputStream();
13         outputStream.write(data.getBytes());
14         outputStream.flush();
15         //-------------------------------
16         int code = conn.getResponseCode();
17         if (code == 302) {
18             outputStream.close();
19             //重定向
20             Log.e(TAG, "302重定向");
21             String location = conn.getHeaderField("Location");
22             String cookies = conn.getHeaderField("Set-Cookie");
23             Log.e(TAG, "重定向,跳转地址:" + location +", cookies="+cookies);
24             URL serverUrl = new URL(location);
25             conn = (HttpURLConnection) serverUrl.openConnection();
26             conn.setRequestMethod("POST");//GET必须大小
27             conn.setConnectTimeout(5000);
28             conn.setRequestProperty("Cookie", cookies);
29 
30             //-------post 特殊有数据----------
31             conn.setRequestMethod("POST");
32             conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
33             //响服务器发送的数据
34             data="user=lisi&pwd=123";
35             conn.setRequestProperty("Content-Length",String.valueOf(data.length()));
36             conn.setDoOutput(true);
37             outputStream= conn.getOutputStream();
38             outputStream.write(data.getBytes());
39             outputStream.flush();
40             //-------------------------------
41         }
42         code = conn.getResponseCode();
43         if (code == HttpsURLConnection.HTTP_OK) {
44             InputStream inputStream = conn.getInputStream();
45             BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
46             StringBuilder stringBuilder = new StringBuilder();
47             String tempData = null;
48             while ((tempData = bufferedReader.readLine()) != null) {
49                 stringBuilder.append(tempData);
50             }
51             bufferedReader.close();
52             Log.e(TAG, "data=" + stringBuilder.toString());
53         }
54         outputStream.close();
55     }
View Code
Content-Type 参考
posted @ 2019-06-15 23:50  zp007  阅读(223)  评论(0编辑  收藏  举报