http協議發送json字串請求

來源:互聯網
上載者:User

標籤:包含   puts   new   封裝   amr   set   cti   reader   class   

package post;

 

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.URL;

import java.net.URLConnection;

 

public class DoTest {

   /**

    * 請求串連固定參數

    * @param s 傳參地址

    */

   public static URLConnection getConnection(String s) throws IOException { 

        URL url = new URL(s); 

        URLConnection conn = url.openConnection(); 

        conn.setRequestProperty("Accept", "application/json"); // 設定接收資料的格式 

        conn.setRequestProperty("Content-Type", "application/json"); // 設定發送資料的格式 

        return conn; 

    }

 

   //請求地址帶介面地址,請求參數是json字串,舉例如下:

   //請求地址:http://127.0.0.1:8080/test/testone

   //請求參數:{

   //              "testone": "testname1",

   //              "testtwo": "testname2"

   //              }

  

   /**

    * post請求

    * @param s 傳參地址和介面 

    * @param param 請求參數

    * @return 返迴響應結果

    * @throws IOException 拋異常

    */

   public static String reqPost(String s, String param) throws IOException {

        System.out.println("請求地址:"+s); 

        System.out.println("請求參數:"+param);

        String res = ""; 

        URLConnection conn = getConnection(s); // POST要求URL中不包含請求參數 

        conn.setDoOutput(true); // 必須設定這兩個請求屬性為true,就表示預設使用POST發送

        conn.setDoInput(true); 

        // 請求參數必須使用conn擷取的OutputStream輸出到請求體參數 

        PrintWriter out = new PrintWriter(conn.getOutputStream()); // 用PrintWriter進行封裝 

        out.println(param); 

        out.flush(); // 立即充刷至請求體)PrintWriter預設先寫在記憶體緩衝中 

         

        try// 發送正常的請求(擷取資源)

        {  

            BufferedReader in = new BufferedReader( 

              new InputStreamReader(conn.getInputStream(), "utf-8")); 

            String line; 

            while ((line = in.readLine()) != null) { 

                res += line + "\n"; 

            } 

        } catch (Exception e) { 

            System.out.println("Get Error Occured!"); 

            e.printStackTrace(); 

        } 

        return res; 

    }

}

 

http協議發送json字串請求

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.