国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java后臺調用HttpURLConnection類模擬瀏覽器請求(一般用于接口調用)

2019-11-14 21:33:46
字體:
來源:轉載
供稿:網友
java后臺調用HttpURLConnection類模擬瀏覽器請求(一般用于接口調用)
   項目開發中難免遇到外部接口的調用,小生今天初次接觸該類,跟著API方法走了一遍,如有不對的地方,還請哆哆指正,拜謝! 1 package com.cplatform.movie.back.test;  2   3 import java.io.BufferedReader;  4 import java.io.DataOutputStream;  5 import java.io.InputStreamReader;  6 import java.net.HttpURLConnection;  7 import java.net.URL;  8 import java.net.URLEncoder;  9  10  11  12 public class HttpURLConnectionTest { 13     public static final String GET_URL = "http://112.4.27.9/mall-back/if_user/store_list?storeId=32"; 14     public static final String POST_URL = "http://112.4.27.9/mall-back/if_user/store_list"; 15      16     /** 17      * 接口調用 GET 18      */ 19     public static void httpURLConectionGET() { 20         try { 21             URL url = new URL(GET_URL);    // 把字符串轉換為URL請求地址 22             HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 打開連接 23             connection.connect();// 連接會話 24             // 獲取輸入流 25             BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream())); 26             String line; 27             StringBuilder sb = new StringBuilder(); 28             while ((line = br.readLine()) != null) {// 循環讀取流 29                 sb.append(line); 30             } 31             br.close();// 關閉流 32             connection.disconnect();// 斷開連接 33             System.out.PRintln(sb.toString()); 34         } catch (Exception e) { 35             e.printStackTrace(); 36             System.out.println("失敗!"); 37         } 38     } 39      40     /** 41      * 接口調用  POST 42      */ 43     public static void httpURLConnectionPOST () { 44         try { 45             URL url = new URL(POST_URL); 46              47             // 將url以open方法返回的urlConnection連接強轉為HttpURLConnection連接(標識一個url所引用的遠程對象連接)         // 此時cnnection只是為一個連接對象,待連接中 48             HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 49              50             // 設置連接輸出流為true,默認false (post 請求是以流的方式隱式的傳遞參數) 51             connection.setDoOutput(true); 52              53             // 設置連接輸入流為true 54             connection.setDoInput(true); 55              56             // 設置請求方式為post 57             connection.setRequestMethod("POST"); 58              59             // post請求緩存設為false 60             connection.setUseCaches(false); 61              62             // 設置該HttpURLConnection實例是否自動執行重定向 63             connection.setInstanceFollowRedirects(true); 64              65             // 設置請求頭里面的各個屬性 (以下為設置內容的類型,設置為經過urlEncoded編碼過的from參數) 66             // application/x-javascript text/xml->xml數據          // application/x-Javascript->json對象          // application/x-www-form-urlencoded->表單數據 67             connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); 68              69             // 建立連接 (請求未開始,直到connection.getInputStream()方法調用時才發起,以上各個參數設置需在此方法之前進行) 70             connection.connect(); 71              72             // 創建輸入輸出流,用于往連接里面輸出攜帶的參數,(輸出內容為?后面的內容) 73             DataOutputStream dataout = new DataOutputStream(connection.getOutputStream());         //URLEncoder.encode()方法 為字符串進行編碼(具體編碼格式依據項目文檔而定) 74             String parm = "storeId=" + URLEncoder.encode("32", "utf-8");  75              76             // 將參數輸出到連接 77             dataout.writeBytes(parm); 78              79             // 輸出完成后刷新并關閉流 80             dataout.flush(); 81             dataout.close(); // 重要且易忽略步驟 (關閉流,切記!)  82              83             System.out.println(connection.getResponseCode()); 84              85             // 連接發起請求,處理服務器響應  (從連接獲取到輸入流并包裝為bufferedReader) 86             BufferedReader bf = new BufferedReader(new InputStreamReader(connection.getInputStream()));  87             String line; 88             StringBuilder sb = new StringBuilder(); // 用來存儲響應數據 89              90             // 循環讀取流,若不到結尾處 91             while ((line = bf.readLine()) != null) { 92                 sb.append(bf.readLine()); 93             } 94             bf.close();    // 重要且易忽略步驟 (關閉流,切記!)  95             connection.disconnect(); // 銷毀連接 96             System.out.println(sb.toString()); 97      98         } catch (Exception e) { 99             e.printStackTrace();100         }101     }102     103     104     public static void main(String[] args) {105 //        httpURLConectionGET();106         httpURLConnectionPOST();107     }108 }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳西县| 迁西县| 遂平县| 天等县| 海兴县| 阳春市| 油尖旺区| 宣威市| 龙口市| 青河县| 永嘉县| 龙门县| 若羌县| 宝坻区| 芮城县| 多伦县| 海宁市| 孝感市| 田东县| 孝昌县| 博客| 西昌市| 汤阴县| 葫芦岛市| 巴青县| 和田县| 长垣县| 马关县| 盘锦市| 霞浦县| 永济市| 虹口区| 瑞安市| 宝山区| 名山县| 成武县| 会宁县| 德化县| 汉川市| 龙游县| 贵州省|