發送get請求
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class HttpGetUtil {
public static void main(String[] args) {
HttpURLConnection conn = null;
InputStream inputStream = null;
BufferedReader bufferedReader = null;
try {
URL url = new URL("http://www.xxx.com/xxx/check?orgCode=321300&waybillNo=773011197999686");
conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
//設置請求頭(如果沒有請求頭信息,則不需要寫這一項)
conn.setRequestProperty("appId", "app_service");
conn.connect();
inputStream = conn.getInputStream();
bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
//拼接返回參數
StringBuilder sb = new StringBuilder();
String responseMsg = null;
while ((responseMsg = bufferedReader.readLine()) != null){
sb.append(responseMsg);
}
System.out.println(sb.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
} finally {
if(bufferedReader != null){
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(inputStream != null){
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(conn != null){
conn.disconnect();
}
}
}
}
- connect() 方法
1.這段代碼已經使用url.openConnection()創建了連接,connect()方法可有可無。
2.如果使用HttpURLConnection conn=new HttpURLConnection(new URL(“路徑”)),則需要使用connect()方法進行連接。
發送post請求
import com.alibaba.fastjson.JSON;
import com.mr.zhang.thread.dto.ParamDto;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class HttpPostUtil {
public static void main(String[] args) {
HttpURLConnection conn = null;
InputStream inputStream = null;
BufferedReader bufferedReader = null;
try {
URL url = new URL("http://www.xxx.com/xxx/xxxxxx/xxxxxxxxxxxxx");
conn = (HttpURLConnection) url.openConnection();//通過openConnection創建對象
conn.setRequestMethod("POST");
//設置請求體格式,這裏設置的是json格式
conn.setRequestProperty("Content-Type", "application/json; charset=utf-8;");
//連接服務器超時時間ms
conn.setConnectTimeout(5000);
//讀取服務器返回超時時間ms
conn.setReadTimeout(5000);
//設置請求頭
conn.setRequestProperty("appId", "app_service");
//設置請求體
ParamDto paramDto = new ParamDto();
paramDto.setOrgCode("222001");
paramDto.setDataType("INTERCEPT");
paramDto.setPdaCode("JSYG22200110001");
paramDto.setVersionNo("1573360821238");
String body = JSON.toJSONString(paramDto);
//設置成true,向遠程服務器寫數據
conn.setDoOutput(true);//默認是false,無法寫入body
OutputStream outputStream = conn.getOutputStream();
outputStream.write(body.getBytes());
outputStream.flush();
outputStream.close();
inputStream = conn.getInputStream();
bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
StringBuilder sb = new StringBuilder();
String responseMsg = null;
while ((responseMsg = bufferedReader.readLine()) != null){
sb.append(responseMsg);
}
System.out.println(sb.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e){
e.printStackTrace();
} finally {
if(bufferedReader != null){
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(inputStream != null){
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(conn != null){
conn.disconnect();
}
}
}
}
-
conn.setDoOutput(true);
默認值是false,向遠程服務器寫數據時,需要設置成true -
conn.setDoInput(true);
默認值是true,從遠程服務器讀數據時使用。因爲默認是true,該參數可以不設置。