记录:Java_POST请求接口实例

/**

* @param URL 访问地址
* @param params 参数内容
* @param Header 设置/添加请求头信息key-value
* @param linktime 连接超时 单位毫秒
* @param readtime 读取超时 单位毫秒
* @return
*/
public  static Map<String,String> mapBoby(String URL,String params,Map<String,String> Header,int linktime,int readtime){
Map<String,String> map=new HashMap<String,String>();
int code=0;
try {
           URL url = new URL(URL);
           HttpURLConnection http=(HttpURLConnection) url.openConnection();
           http.setRequestMethod("POST");// 提交模式
           http.setConnectTimeout(linktime);//连接超时 单位毫秒
           http.setReadTimeout(readtime);//读取超时 单位毫秒
           http.setDoOutput(true);// 允许输出,设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在 
http.setDoInput(true);// 允许输入,设置是否从httpUrlConnection读入,默认情况下是true; 
//http.setRequestProperty("Content-Type", "application/json");//设置请求头里面的数据,以下设置用于解决http请求code415的问题
//遍历添加需要的Header的头信息
for(String key : Header.keySet()){
http.setRequestProperty(key,Header.get(key));//设置请求头里面的数据,
//http.addRequestProperty(key,Header.get(key));//添加Header头信息
}
http.connect();
DataOutputStream out =new DataOutputStream(http.getOutputStream());//向对象输出流写出数据,这些数据将存到内存缓冲区中,字节的方式输出
out.write(params.getBytes());
out.flush(); //刷新对象输出流,将任何字节都写入潜在的流中 
out.close();// 关闭流对象,此时,不能再向对象输出流写入任何数据,先前写入的数据存在于内存缓冲区中   

//往map添加返回信息
code=http.getResponseCode();
map.put("状态码code", String.valueOf(code));
//读取响应状态
if (code==200){
System.out.println("响应状态:"+http.getResponseCode());
// 连接发起请求,处理服务器响应
InputStreamReader inputStream =new InputStreamReader(http.getInputStream());
BufferedReader reader = new BufferedReader(inputStream);
String lines;
StringBuffer sbuffer = new StringBuffer();
// 循环读取流,若不到结尾处 
while ((lines = reader.readLine()) != null) {                
lines = new String(lines.getBytes(), "utf-8");                    
sbuffer.append(lines);

map.put("接口返回信息", sbuffer.toString());
//System.out.println("返回:"+sbuffer.toString());
//System.out.println("返回:"+lines);
reader.close();//关闭流对象
}
//断开链接
http.disconnect();
} catch (Exception e) {
// TODO: handle exception
map.put("状态码code", String.valueOf(code));
System.out.println("发送 POST 请求出现异常!");
e.printStackTrace();


}
return map;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值