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 }
Content-Type 参考
原文:https://www.cnblogs.com/jtzp007/p/11029360.html