http請求 get post
Http請求類
packagewzh.Http; importjava.io.BufferedReader; importjava.io.IOException;importjava.io.InputStreamReader; importjava.io.PrintWriter; importjava.net.URL;importjava.net.URLConnection; importjava.util.List; importjava.util.Map;publicclassHttpRequest{/** * 向指定URL發(fā)送GET方法的請求 * *@paramurl * 發(fā)送請求的URL *@paramparam * 請求參數,請求參數應該是 name1=value1&name2=value2 的形式。 *@returnURL 所代表遠程資源的響應結果 */publicstaticString sendGet(String url, String param) { String result = “”; BufferedReader in = null; try{ String urlNameString = url + “?”+ param; URL realUrl = newURL(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 = newBufferedReader(newInputStreamReader( connection.getInputStream())); String line; while((line = in.readLine()) != null) { result += line; } } catch(Exception e) { System.out.println( “發(fā)送GET請求出現(xiàn)異常!”+ e); e.printStackTrace(); } // 使用finally塊來關閉輸入流finally{ try{ if(in !=null) { in.close(); } } catch(Exception e2) { e2.printStackTrace(); } } returnresult; } /** * 向指定 URL 發(fā)送POST方法的請求 * *@paramurl * 發(fā)送請求的 URL Java學習交流QQ群:589809992 我們一起學Java! *@paramparam * 請求參數,請求參數應該是 name1=value1&name2=value2 的形式。 *@return所代表遠程資源的響應結果 */publicstaticString sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = “”; try{ URL realUrl = newURL(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)”); // 發(fā)送POST請求必須設置如下兩行conn.setDoOutput( true); conn.setDoInput( true); // 獲取URLConnection對象對應的輸出流out =newPrintWriter(conn.getOutputStream()); // 發(fā)送請求參數out.print(param); // flush輸出流的緩沖out.flush(); // 定義BufferedReader輸入流來讀取URL的響應in = newBufferedReader(newInputStreamReader(conn.getInputStream())); String line; while((line = in.readLine()) !=null) { result += line; } } catch(Exception e) { System.out.println( “發(fā)送 POST 請求出現(xiàn)異常!”+e); e.printStackTrace(); } //使用finally塊來關閉輸出流、輸入流 我的Java學習交流QQ群:589809992finally{ try{ if(out!= null){ out.close(); } if(in!= null){ in.close(); } }catch(IOException ex){ ex.printStackTrace(); } } returnresult; } }
調用方法:
publicstaticvoidmain(String[] args) { //發(fā)送 GET 請求String s=HttpRequest.sendGet(“http://localhost:6144/Home/RequestString”, “key=123&v=456”); System. out.println(s); //發(fā)送 POST 請求String sr=HttpRequest.sendPost(“http://localhost:6144/Home/RequestPostString”, “key=123&v=456”); System.out.println(sr); }
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%