java发送http的get、post请求
生活随笔
收集整理的這篇文章主要介紹了
java发送http的get、post请求
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Http請求類
package wzh.Http;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; 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("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/RequestPostString", "key=123&v=456");System.out.println(sr);}總結
以上是生活随笔為你收集整理的java发送http的get、post请求的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 渡荆门送别李白(说一说渡荆门送别李白的简
- 下一篇: 投资理财基础知识(怎样理财投资)