httprequest- post- get -傳送請求
向指定url傳送httprequest,get和post方式
package cn.server;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
public class HttpRequest {
/**
* 向指定URL傳送GET方法的請求
*
* @param url
* 傳送請求的URL
* @param param
* 請求引數,請求引數應該是 name1=value1&name2=value2 的形式。
* @return URL 所代表遠端資源的響應結果
*/
public static String sendGet(String url, String param) {
String result = "";
BufferedReader in = null;
try {
String urlNameString = url + "?" + param;
URL realUrl = new URL(urlNameString);
// 開啟和URL之間的連線
URLConnection connection = realUrl.openConnection();
// 設定通用的請求屬性
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 建立實際的連線
connection.connect();
// 獲取所有響應頭欄位
Map<String, List<String>> map = connection.getHeaderFields();
// 遍歷所有的響應頭欄位
for (String key : map.keySet()) {
System.out.println(key + "--->" + map.get(key));
}
// 定義 BufferedReader輸入流來讀取URL的響應
in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("傳送GET請求出現異常!" + e);
e.printStackTrace();
}
// 使用finally塊來關閉輸入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return result;
}
/**
* 向指定 URL 傳送POST方法的請求
*
* @param url
* 傳送請求的 URL
* @param param
* 請求引數,請求引數應該是 name1=value1&name2=value2 的形式。
* @return 所代表遠端資源的響應結果
*/
public static String sendPost(String url, String param) {
PrintWriter out = null;
BufferedReader in = null;
String result = "";
try {
URL realUrl = new URL(url);
// 開啟和URL之間的連線
URLConnection conn = realUrl.openConnection();
// 設定通用的請求屬性
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("Content-type", "application/json");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 傳送POST請求必須設定如下兩行
conn.setDoOutput(true);
conn.setDoInput(true);
// 獲取URLConnection物件對應的輸出流
out = new PrintWriter(conn.getOutputStream());
// 傳送請求引數
out.print(param);
// flush輸出流的緩衝
out.flush();
// 定義BufferedReader輸入流來讀取URL的響應
in = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("傳送 POST 請求出現異常!" + e);
e.printStackTrace();
}
// 使用finally塊來關閉輸出流、輸入流
finally {
try {
if (out != null) {
out.close();
}
if (in != null) {
in.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
return result;
}
public static void main(String[] args) {
// 傳送 GET 請求
// String s = HttpRequest.sendGet(
// "http://localhost:6144/Home/RequestString", "key=123&v=456");
// System.out.println(s);
// 傳送 POST 請求
String sr = HttpRequest
.sendPost(
"http://localhost:6144/Home/RequestString",
"\u4e09\u5929\u7684\u4f53\u80b2\u57f9\u8bad\u5728\u8f7b\u677e\u6109\u60a6\u7684\u6c1b\u56f4\u4e2d\u7ed3\u675f\uff0c\u53c2\u8bad\u6559\u5e08\u5728\u5e0c\u671b\u4e5d\u6d32\u57f9\u8bad\u8001\u5e08\u7684\u5e26\u9886\u4e0b\uff0c\u5b66\u5230\u4e86\u66f4\u524d\u6cbf\u7684\u4f53\u80b2\u7406\u8bba\u77e5\u8bc6\u548c\u4f53\u80b2\u6d3b\u52a8\u5b9e\u8df5\u64cd\u4f5c\u8981\u9886\uff0c\u63d0\u9ad8\u4e86\u4e61\u6751\u5b66\u6821\u4f53\u80b2\u6559\u5b66\u8d28\u91cf\uff0c\u4e3a\u4e61\u6751\u513f\u7ae5\u7684\u8eab\u5fc3\u5065\u5eb7\u53d1\u80b2\u5960\u5b9a\u4e86\u575a\u5b9e\u7684\u57fa\u7840\u3002");
System.out
.println("\u4e09\u5929\u7684\u4f53\u80b2\u57f9\u8bad\u5728\u8f7b\u677e\u6109\u60a6\u7684\u6c1b\u56f4\u4e2d\u7ed3\u675f\uff0c\u53c2\u8bad\u6559\u5e08\u5728\u5e0c\u671b\u4e5d\u6d32\u57f9\u8bad\u8001\u5e08\u7684\u5e26\u9886\u4e0b\uff0c\u5b66\u5230\u4e86\u66f4\u524d\u6cbf\u7684\u4f53\u80b2\u7406\u8bba\u77e5\u8bc6\u548c\u4f53\u80b2\u6d3b\u52a8\u5b9e\u8df5\u64cd\u4f5c\u8981\u9886\uff0c\u63d0\u9ad8\u4e86\u4e61\u6751\u5b66\u6821\u4f53\u80b2\u6559\u5b66\u8d28\u91cf\uff0c\u4e3a\u4e61\u6751\u513f\u7ae5\u7684\u8eab\u5fc3\u5065\u5eb7\u53d1\u80b2\u5960\u5b9a\u4e86\u575a\u5b9e\u7684\u57fa\u7840\u3002");
System.out.println(sr);
}
}
相關文章
- 傳送GET請求 示例
- java傳送GET和post請求Java
- SpringMVC中如何傳送GET請求、POST請求、PUT請求、DELETE請求。SpringMVCdelete
- java傳送get請求帶引數Java
- file_get_contents傳送post請求
- Go HTTP GET 請求可以傳送 body 嗎GoHTTP
- Go使用net/http庫傳送GET請求GoHTTP
- postman(二):使用postman傳送get or post請求Postman
- 043-socket程式設計傳送GET請求程式設計
- cURL實現傳送Get和Post請求(PHP)PHP
- HTTP GET請求傳bodyHTTP
- Java用HttpClient3傳送http/https協議get/post請求,傳送map,jsoJavaHTTPclient協議JS
- Golang:使用go-resty/resty傳送http請求get和postGolangRESTHTTP
- Vue中通過Axios向SpringBoot傳送get和post請求VueiOSSpring Boot
- python+pytest介面自動化(4)-requests傳送get請求Python
- java傳送http請求JavaHTTP
- Postman傳送Post請求Postman
- Java傳送Post請求Java
- Android 傳送HTTP GET POST 請求以及通過 MultipartEntityBuilder 上傳檔案(二)AndroidHTTPUI
- java apache commons HttpClient傳送get和post請求的學習整理JavaApacheHTTPclient
- 使用Feign傳送HTTP請求HTTP
- 如何傳送請求以及AJAX
- python傳送HTTP POST請求PythonHTTP
- Java用HttpClient3傳送http/https協議get/post請求,傳送map,json,xml,txt資料JavaHTTPclient協議JSONXML
- Postman傳送請求引數是Map格式的請求Postman
- Vue 使用 Axios 傳送請求的請求體問題VueiOS
- nodejs使用request傳送http請求NodeJSHTTP
- Python爬蟲(二)——傳送請求Python爬蟲
- Vue中封裝axios傳送請求Vue封裝iOS
- linux用curl傳送post請求Linux
- RestTemplate exchange GET POST請求傳引數DEMOREST
- shell指令碼:批次傳送curl請求指令碼
- 使用requests庫來傳送HTTP請求HTTP
- 使用Postman傳送POST請求的指南Postman
- 以Raw的方式傳送POST請求
- jQuery裡如何使用ajax傳送請求jQuery
- vue中使用axios傳送ajax請求VueiOS
- react-fetch資料傳送請求React