java 后台 post请求 携带参数 远程操作 调用接口

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 21:02   6217   0
package com.huayu.tizong.matchteam.util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

/**
 * 请求接口数据
 * 
 * @author Administrator
 * 
 */
public class httpPostUrl {
 
 /**
  * 
  * @param url
  * @param param  参数 k=v
  * @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)");
   conn.setRequestProperty("Charsert", "UTF-8");
   // 发送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(),"utf-8"));
   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;
 }

 /**
  * 数据流post请求
  * 
  * @param urlStr
  * @param xmlInfo
  */
 public static String doPost(String urlStr, String strInfo) {
  String reStr = "";
  try {
   URL url = new URL(urlStr);
   URLConnection con = url.openConnection();
   con.setDoOutput(true);
   con.setRequestProperty("Pragma:", "no-cache");
   con.setRequestProperty("Cache-Control", "no-cache");
   con.setRequestProperty("Content-Type", "text/xml");
   OutputStreamWriter out = new OutputStreamWriter(
     con.getOutputStream());
   out.write(new String(strInfo.getBytes("utf-8")));
   out.flush();
   out.close();
   BufferedReader br = new BufferedReader(new InputStreamReader(
     con.getInputStream(), "utf-8"));
   String line = "";
   for (line = br.readLine(); line != null; line = br.readLine()) {
    reStr += line;
   }
  } catch (MalformedURLException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
  return reStr;
 }
}

  

转载于:https://www.cnblogs.com/pqy521/p/6957011.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP