Java接口請求之POST


package com.example.demo;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Date;

public class HttpRequest {
    public static void main(String []args) throws IOException, JSONException {
        //請求url
        String serverURL = "https://service.test.com/sv-sp/truenate";
        URL url = new URL(serverURL);

        HttpURLConnection connection = (HttpURLConnection)url.openConnection();
        connection.setRequestMethod("POST");
        connection.setDoInput(true);
        connection.setDoOutput(true);
        //header參數connection.setRequestProperty("鍵","值");
        connection.setRequestProperty("Content-Type", "application/json");

        connection.connect();
        OutputStreamWriter writer = new     OutputStreamWriter(connection.getOutputStream(),"UTF-8");
        //獲取當前時間戳
        long time = new Date().getTime();
        JSONArray jsonArray = new JSONArray();
        JSONObject parm1 = new JSONObject();
        parm1.put("signame","local");
        parm1.put("timestamp",time);
        parm1.put("value",str);
        //請求包含數組時時,先將數組參數放入JSONArray
        jsonArray.put(parm1);

        //body參數
        JSONObject parm2 = new JSONObject();
        parm2.put("id","1001");
        parm2.put("signals", jsonArray);
        parm2.put("vinne","V2001");
        writer.write(parm2.toString());
        writer.flush();
        StringBuffer sbf = new StringBuffer();
        String strRead = null;
        // 返回結果-字節輸入流轉換成字符輸入流,控制台輸出字符
        InputStream is = connection.getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        while ((strRead = reader.readLine()) != null) {
            sbf.append(strRead);
            sbf.append("\r\n");
        }
        reader.close();
        connection.disconnect();
        String results = sbf.toString();
        System.out.println(results);
    }
}
ps:請求頭 Connection,Connection設置為 keep-alive用於說明 客戶端這邊設置的是,本次HTTP請求之后並不需要關閉TCP連接,這樣可以使下次HTTP請求使用相同的TCP通道,節省TCP建立連接的時間


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM