1. 程式人生 > >java發送get,post請求

java發送get,post請求

data tao true OS ack per nal rac adl

方法裏面有註釋:參照csdn裏面的,項目用時自己改

package com.bst.express;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import org.junit.Test;

public
class HttpTools { public static final String GET_URL = "http://192.168.1.61"; public static final String POST_URL = "http://localhost:8080/wayBill/common/api"; /** * get請求 */ @Test public void httpURLConectionGET() { try { URL url = new URL(GET_URL);// 字符串轉成請求地址
HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 打開連接 connection.connect();// 連接會話 BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));// 響應結果為輸入流 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("請求失敗 :" + e.getMessage()); } } /** * post請求 */ @Test public void httpURLConnectionPOST() { try { URL url = new URL(POST_URL); // 1. 將url 以 open方法返回的urlConnection // 連接強轉為HttpURLConnection連接.此時cnnection只是為一個連接對象,待連接中 HttpURLConnection connection = (HttpURLConnection) url.openConnection(); // 2. 設置連接輸出流為true,默認false (post 請求是以流的方式隱式的傳遞參數) connection.setDoOutput(true); // 3. 設置連接輸入流為true connection.setDoInput(true); // 4.設置請求方式為post connection.setRequestMethod("POST"); // 5.post請求緩存設為false connection.setUseCaches(false); /* * 6.設置請求頭裏面的各個屬性 (以下為設置內容的類型,設置為經過urlEncoded編碼過的from參數) * application/xml:xml數據 ,application/json:json對象 * text/html:表單數據 */ connection.setRequestProperty("Content-Type", "application/json;charset=utf-8"); // 7.建立連接 // (請求未開始,直到connection.getInputStream()方法調用時才發起,以上各個參數設置需在此方法之前進行) connection.connect(); // 8.創建輸入輸出流,用於往連接裏面輸出攜帶的參數,(輸出內容為?後面的內容) DataOutputStream dataout = new DataOutputStream(connection.getOutputStream()); // 9.入參:json格式 String parm = "{\"pubRequest\":{\"token\":\"121212\",\"method\":\"auth.login\"," + "\"version\":\"1.0\",\"encryType\":\"6\"},\"body\":{\"account\":\"18584084561\"," + "\"password\":\"123456\"}}"; // 10.將參數輸出到連接 dataout.writeBytes(parm); // 輸出完成後刷新並關閉流 dataout.flush(); dataout.close(); // 重要且易忽略步驟 (關閉流,切記!) // System.out.println("響應code:"+connection.getResponseCode()); // 連接發起請求,處理服務器響應 (從連接獲取到輸入流並包裝為bufferedReader) BufferedReader bf = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8")); String line; StringBuilder sb = new StringBuilder(); // 用來存儲響應數據 // 循環讀取流,若不到結尾處 while ((line = bf.readLine()) != null) { sb.append(line);//若要換行:sb.append(line).append(System.getProperty("line.separator")); } bf.close(); // 重要且易忽略步驟 (關閉流,切記!) connection.disconnect(); // 銷毀連接 System.out.println(sb.toString()); } catch (Exception e) { e.printStackTrace(); System.out.println("請求失敗:"+e.getMessage()); } } }

java發送get,post請求