package com.ligotop.core.utils;

import com.ligotop.core.exceptions.BusinessException;

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL; public class HttpMethodUtil { public static String doPost(String url,String params){
HttpURLConnection conn = null;
BufferedReader reader = null;
PrintWriter writer = null;
String content = null;
StringBuffer sbf = new StringBuffer();
try{
URL u = new URL(url);
conn = (HttpURLConnection)u.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setReadTimeout(50000);
conn.setConnectTimeout(60000);
conn.setRequestProperty("accept","*/*");
conn.setRequestProperty("connection","Keep-Alive");
conn.setRequestProperty("content-Type","application/json"); writer = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(),"UTF-8"));
writer.print(params);
writer.flush(); reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while((content = reader.readLine())!=null){
sbf.append(content);
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(writer!=null){
writer.close();
}
if(reader!=null){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
conn.disconnect();
}
return sbf.toString(); } public static String doGet(String url){
StringBuffer sbf = new StringBuffer();
HttpURLConnection conn = null;
BufferedReader br = null;
String content = null;
try{
URL u = new URL(url);
conn = (HttpURLConnection)u.openConnection();
conn.setReadTimeout(50000);
conn.setConnectTimeout(60000);
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
if(conn.getResponseCode()==200){
br = new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"));
while((content=br.readLine())!=null){
sbf.append(content);
}
}
}catch(Exception e){
e.printStackTrace();
throw new BusinessException("请求数据失败");
}finally{
if(br!=null){
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
conn.disconnect();
}
return sbf.toString();
} }

最新文章

  1. 在Visual Studio上开发Node.js程序(2)——远程调试及发布到Azure
  2. labview学习_入门篇(一)
  3. jQuery知识点总结(第二天)
  4. 利用URLRewriter.dll 实现ASP.NET实现伪静态
  5. C中sizeof()的用法——32位和64位下的sizeof()
  6. POJ 3694 Network(无向图求桥+重边处理+LCA)
  7. CentOS 7.0 systemd代替service
  8. 菜鸟初试水--JQuery基础
  9. Java中String字符串常量池总结
  10. CF Good Bye 2018
  11. CentOS7 网络NAT模式
  12. Quartz基础+实例
  13. php回调函数的概念及实例
  14. lua系列之 lua-cjson模块安装报错问题解决
  15. linux命令-查找所有文件中包含某个字符串
  16. Oracle备份归档日志文件的两种方法比较
  17. 数据库连接池——C3P0
  18. html5+css3图片旋转特效
  19. C# 实例化的执行顺序(转)
  20. 【LeetCode】214. Shortest Palindrome

热门文章

  1. 线程屏障CyclicBarrier实现原理
  2. Linux性能优化从入门到实战:16 文件系统篇:总结磁盘I/O指标/工具、问题定位和调优
  3. idea中ehcahe配置中 Cannot find the declaration of element 'ehcache'.
  4. mybaties数据源配置类型(POOLED、JNDI、UNPOOLED)
  5. python 脚本编译成可执行二进制(exe)
  6. Python---基础---常用的内置模块(Github、P有charm、math数学模块和random随机数模块,做一些简单的练习)
  7. Python---基础----数据类型的内置函数(主要介绍字符串、列表、元组、字典、集合的内置函数)(二)
  8. final、finally、 finalize区别
  9. [POJ1187] 陨石的秘密
  10. postman与soapui操作