HTTP使用get,post方式连接
2024-09-01 15:53:51
在项目中使用了http的get和post方式连接,发送传输数据;
public static String doGet(String httpUrl) {
HttpURLConnection conn = null;
InputStream is = null;
BufferedReader br = null;
String result = null;
try {
//创建远程url链接
URL url = new URL(httpUrl);
//通过远程URL连接对象打开一个连接
conn = (HttpURLConnection) url.openConnection();
//设置连接方式为get
conn.setRequestMethod("GET");
//设置连接主机服务器的超时时间
conn.setConnectTimeout(15000);
//设置读取远程返回的数据时间
conn.setReadTimeout(60000);
//发送请求
conn.connect();
//通过连接,获取输入流
if(conn.getResponseCode() == 200) {
is = conn.getInputStream();
//封装输入流is,并指定字符集
br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
//存放数据
StringBuffer sbf = new StringBuffer();
String temp = null;
while((temp = br.readLine()) != null) {
sbf.append(temp);
}
result = sbf.toString();
}
} catch (Exception e) {
e.printStackTrace();
}finally {
close(conn,is,null,br);
}
return result;
} public static String doPost(String httpUrl,String param) {
HttpURLConnection conn = null;
InputStream is = null;
OutputStream os = null;
BufferedReader br = null;
String result = null;
try {
//创建远程url链接
URL url = new URL(httpUrl);
//通过远程URL连接对象打开一个连接
conn = (HttpURLConnection) url.openConnection();
//设置连接方式为get
conn.setRequestMethod("POST");
//设置连接主机服务器的超时时间
conn.setConnectTimeout(15000);
//设置读取远程返回的数据时间
conn.setReadTimeout(60000); //默认设置为false,当向远程服务器传输/写数据
conn.setDoInput(true);
//默认设置为true,当前向远程服务器时,设置为true,该参数可有可无
conn.setDoOutput(true);
//设置传入参数的格式:请求参数应该是name1 = value1,name2 = value2的形式
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
//通过连接对象获取一个输出流
os = conn.getOutputStream();
//通过输出流对象将数据写出去
os.write(param.getBytes("UTF-8"));
//通过连接,获取输入流
if(conn.getResponseCode() == 200) {
is = conn.getInputStream();
//封装输入流is,并指定字符集
br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
//存放数据
StringBuffer sbf = new StringBuffer();
String temp = null;
while((temp = br.readLine()) != null) {
sbf.append(temp);
}
result = sbf.toString();
}
} catch (Exception e) {
e.printStackTrace();
}finally {
close(conn,is,null,br);
}
return result;
}
最新文章
- kettle定时任务_第三方合作方有订单自动发送邮件通知_20161214
- MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
- 红外解码编码学习----verilog
- docker入门的文章
- php 生成 Json
- 图 - 从零开始实现by C++
- 小韦XP 和win2003装电信天翼3G无线上网卡
- Oracle 数据库中日期时间的插入操作
- POJ-2955括号匹配问题(区间DP)
- CF528D. Fuzzy Search [FFT]
- Matlab与C混编的介绍
- 【BZOJ3691】游行(网络流)
- 转 Multiple outputs from T4 made easy t4生成多文件
- Android几种解析XML方式的比较
- linux系统中关于shell变量$*与$@的区别
- 20155237 2016-2017-2 《Java程序设计》第2周学习总结
- 20135316王剑桥 linux第六周课实验笔记
- 洛谷 P2184 贪婪大陆 解题报告
- emacs之配置auto-complete
- SQL Server ->;>; 高可用与灾难恢复(HADR)技术之 -- Transaction Replication(事务复制)