Java后台发送Get、Post请求

时间:2025-05-12 09:37:08
  • public static String sendPost(String url, String param) {
  • ("sendPost"+param);
  • PrintWriter out = null;
  • BufferedReader in = null;
  • String result = "";
  • try {
  • URL realUrl = new URL(url);
  • // 打开和URL之间的连接
  • URLConnection conn = ();
  • // 设置通用的请求属性
  • ("accept", "*/*");
  • ("connection", "Keep-Alive");
  • ("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
  • // 发送POST请求必须设置如下两行
  • (true);
  • (true);
  • //1.获取URLConnection对象对应的输出流
  • //out = new PrintWriter(()); //导致乱码的问题
  • //2.中文有乱码的需要将PrintWriter改为如下
  • //out=new OutputStreamWriter((),"UTF-8");
  • //3.中文乱码,网上查询的解决方法
  • OutputStreamWriter outWeiter=new OutputStreamWriter((),"utf-8");
  • out=new PrintWriter(outWeiter);
  • // 发送请求参数
  • JSONObject json = (param);
  • String pathURL=json.get("url")==null?"":("url");
  • if(pathURL!=""){
  • if(("/")){
  • pathURL=(0, pathURL.length()-1);
  • }
  • ("url", pathURL);
  • }
  • ("json"+());
  • (json);
  • // flush输出流的缓冲
  • ();
  • // 定义BufferedReader输入流来读取URL的响应
  • in = new BufferedReader(new InputStreamReader(()));
  • String line;
  • while ((line = in.readLine()) != null) {
  • result += line;
  • }
  • } catch (Exception e) {
  • ("发送 POST 请求出现异常!"+e);
  • ();
  • }
  • //使用finally块来关闭输出流、输入流
  • finally{
  • try{
  • if(out!=null){
  • out.close();
  • }
  • if(in!=null){
  • in.close();
  • }
  • }
  • catch(IOException ex){
  • ();
  • }
  • }
  • ("post推送结果:"+result);
  • return result;
  • }