java後台挪用HttpURLConnection類模仿閱讀器要求實例(可用於接口挪用)。本站提示廣大學習愛好者:(java後台挪用HttpURLConnection類模仿閱讀器要求實例(可用於接口挪用))文章只能為提供參考,不一定能成為您想要的結果。以下是java後台挪用HttpURLConnection類模仿閱讀器要求實例(可用於接口挪用)正文
普通在項目開辟中不免碰到內部接口的挪用,本文實例講述了java後台挪用HttpURLConnection類模仿閱讀器要求的辦法。可用於接口挪用。分享給年夜家供年夜家參考。詳細完成辦法以下:
package com.cplatform.movie.back.test;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class HttpURLConnectionTest {
public static final String GET_URL = "http://112.4.27.9/mall-back/if_user/store_list?storeId=32";
public static final String POST_URL = "http://112.4.27.9/mall-back/if_user/store_list";
/**
* 接口挪用 GET
*/
public static void httpURLConectionGET() {
try {
URL url = new URL(GET_URL); // 把字符串轉換為URL要求地址
HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 翻開銜接
connection.connect();// 銜接會話
// 獲得輸出流
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {// 輪回讀取流
sb.append(line);
}
br.close();// 封閉流
connection.disconnect();// 斷開銜接
System.out.println(sb.toString());
} catch (Exception e) {
e.printStackTrace();
System.out.println("掉敗!");
}
}
/**
* 接口挪用 POST
*/
public static void httpURLConnectionPOST () {
try {
URL url = new URL(POST_URL);
// 將url 以 open辦法前往的urlConnection 銜接強轉為HttpURLConnection銜接 (標識一個url所援用的長途對象銜接)
HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 此時cnnection只是為一個銜接對象,待銜接中
// 設置銜接輸入流為true,默許false (post 要求是以流的方法隱式的傳遞參數)
connection.setDoOutput(true);
// 設置銜接輸出流為true
connection.setDoInput(true);
// 設置要求方法為post
connection.setRequestMethod("POST");
// post要求緩存設為false
connection.setUseCaches(false);
// 設置該HttpURLConnection實例能否主動履行重定向
connection.setInstanceFollowRedirects(true);
// 設置要求頭外面的各個屬性 (以下為設置內容的類型,設置為經由urlEncoded編碼過的from參數)
// application/x-javascript text/xml->xml數據 application/x-javascript->json對象 application/x-www-form-urlencoded->表雙數據
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
// 樹立銜接 (要求未開端,直到connection.getInputStream()辦法挪用時才提議,以上各個參數設置需在此辦法之進步行)
connection.connect();
// 創立輸出輸入流,用於往銜接外面輸入攜帶的參數,(輸入內容為?前面的內容)
DataOutputStream dataout = new DataOutputStream(connection.getOutputStream());
String parm = "storeId=" + URLEncoder.encode("32", "utf-8"); //URLEncoder.encode()辦法 為字符串停止編碼
// 將參數輸入到銜接
dataout.writeBytes(parm);
// 輸入完成後刷新並封閉流
dataout.flush();
dataout.close(); // 主要且易疏忽步調 (封閉流,切記!)
System.out.println(connection.getResponseCode());
// 銜接提議要求,處置辦事器呼應 (從銜接獲得到輸出流並包裝為bufferedReader)
BufferedReader bf = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder sb = new StringBuilder(); // 用來存儲呼應數據
// 輪回讀取流,若不到開頭處
while ((line = bf.readLine()) != null) {
sb.append(bf.readLine());
}
bf.close(); // 主要且易疏忽步調 (封閉流,切記!)
connection.disconnect(); // 燒毀銜接
System.out.println(sb.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// httpURLConectionGET();
httpURLConnectionPOST();
}
}
願望本文所述對年夜家的Java法式設計有所贊助。