程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java後台挪用HttpURLConnection類模仿閱讀器要求實例(可用於接口挪用)

java後台挪用HttpURLConnection類模仿閱讀器要求實例(可用於接口挪用)

編輯:關於JAVA

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法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved