java實現向服務端發送GET和POST請求

nepe 9年前發布 | 2K 次閱讀 Java

 
package com.hongyuan.test;

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.HttpURLConnection; import java.net.URL;

public class HttpClient { //發送一個GET請求 public static String get(String path) throws Exception{ HttpURLConnection httpConn=null; BufferedReader in=null; try { URL url=new URL(path); httpConn=(HttpURLConnection)url.openConnection();

        //讀取響應
        if(httpConn.getResponseCode()==HttpURLConnection.HTTP_OK){
            StringBuffer content=new StringBuffer();
            String tempStr="";
            in=new BufferedReader(new InputStreamReader(httpConn.getInputStream()));
            while((tempStr=in.readLine())!=null){
                content.append(tempStr);
            }
            return content.toString();
        }else{
            throw new Exception("請求出現了問題!");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }finally{
        in.close();
        httpConn.disconnect();
    }
    return null;
}
//發送一個GET請求,參數形式key1=value1&key2=value2...
public static String post(String path,String params) throws Exception{
    HttpURLConnection httpConn=null;
    BufferedReader in=null;
    PrintWriter out=null;
    try {
        URL url=new URL(path);
        httpConn=(HttpURLConnection)url.openConnection();
        httpConn.setRequestMethod("POST");
        httpConn.setDoInput(true);
        httpConn.setDoOutput(true);

        //發送post請求參數
        out=new PrintWriter(httpConn.getOutputStream());
        out.println(params);
        out.flush();

        //讀取響應
        if(httpConn.getResponseCode()==HttpURLConnection.HTTP_OK){
            StringBuffer content=new StringBuffer();
            String tempStr="";
            in=new BufferedReader(new InputStreamReader(httpConn.getInputStream()));
            while((tempStr=in.readLine())!=null){
                content.append(tempStr);
            }
            return content.toString();
        }else{
            throw new Exception("請求出現了問題!");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }finally{
        in.close();
        out.close();
        httpConn.disconnect();
    }
    return null;
}

public static void main(String[] args) throws Exception {
    //String resMessage=HttpClient.get("http://localhost:3000/hello?hello=hello get");
    String resMessage=HttpClient.post("http://localhost:3000/hello", "hello=hello post");
    System.out.println(resMessage);
}

} </pre>

 本文由用戶 nepe 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!