HTTP使用get,post方式连接
在项目中使用了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;
}
HTTP使用get,post方式连接的更多相关文章
- Linux:宿主机通过桥接方式连接的VMware内部Linux14.04虚拟机(静态IP)实现上网方案
首先,我们要弄清楚三种常见的连接方式中的桥接方式的网络结构: .bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥 ...
- 异步消息总线hornetq学习-03客户端连接hornet进行jms消息的收发-非jndi方式连接
在上节中介绍了通过jndi方式连接到hornetq服务器上,有时候由于某些原因,我们不希望通过jndi方式连接,hornetq也支持这种方式进行 以第2章节的例子为模板,我们编写了另一个获取Conne ...
- 利用ADO方式连接SQLServer2008出现的问题
在利用ADO方式连接SQLServer2008的过程中遇到了很多问题,在网上也没有找到许多有利的信息,花了两天时间,终于把所有问题都搞定了.在这里和大家分享一下经验,希望后来者能少走弯路. 很多教程说 ...
- Oracle BEQ方式连接配置
Oracle BEQ方式连接配置 服务端和客户端在同一台机器上,可以使用BEQ连接,BEQ连接可以理解为进程间直接通信,不需要走网络监听,性能更高. 可以参考MOS:How To Connect Us ...
- vmvare使用桥接和NAT方式连接网络
一.背景:本着学以致用的心态,试着最小化安装Centos7.4.安装centos主要目的有两个:共享文件(samba).安装postgresql数据库 本打算使用内网(不联网)的方式安装samba和p ...
- MySQL多实例的环境下,服务器端本地连接到指定实例的问题(sock方式连接)
涉及到sock连接的问题. 为了测试MySQL的某些个特性,在一个机器上安装了多个MySQL的实例,如下截图,有两个实例,一个端口是8000,一个端口是8001.在使用mysql -uroot -p ...
- 基于Xshell使用密钥方式连接远程主机
基于Xshell使用密钥方式连接远程主机 连接远程主机,就验证身份而言,一般有两种方式,一种是通过用户密码:另一种通过公钥的方式(Public Key). 图1 xshell支持验证登录用户的方式 下 ...
- lnmp使用socket方式连接nginx优化php-fpm性能
lnmp使用socket方式连接nginx优化php-fpm性能 Nginx连接fastcgi的方式有2种:TCP和unix domain socket 什么是Unix domain socket?- ...
- PHP mysqli方式连接类
分享一个PHP以mysqli方式连接类完整代码实例,有关mysqli用法实例. 一个在PHP中以mysqli方式连接数据库的一个数据库类实例,该数据库类是从一个PHP的CMS中整理出来的,可实现PHP ...
- spring boot下JedisCluster方式连接Redis集群的配置
最近在使用springboot做项目,使用redis做缓存.在外网开发的时候redis服务器没有使用集群配置,所有就是用了RedisTemplate的方式进行连接redis服务器.但是项目代码挪到内网 ...
随机推荐
- kafka删除弃用的groupid
登录zookeeper客户端 cd zookeeper-3.4.10 sh zkCli.sh 查看groupid信息 [zk:localhost:2181(CONNECTED) 1] ls /cons ...
- python,json解析字符串时ValueError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
今天写测试工具的时候,去excel取数据,用json解析字符串为字典时报错,后经调试,发现是单引号的原因,将单引号换位双引号即可 def getExcelValue_to_dic(filepath): ...
- Autofac的AOP面向切面编程研究
*:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !impor ...
- java8 base64使用
java 1.8中引入了Base64,不在需要引入第三方库就可以使用base64了. 在需要用到base64进行加密解密的时候就可以使用了 String text = "base64 in ...
- Java 网络爬虫,就是这么的简单
这是 Java 网络爬虫系列文章的第一篇,如果你还不知道 Java 网络爬虫系列文章,请参看 学 Java 网络爬虫,需要哪些基础知识.第一篇是关于 Java 网络爬虫入门内容,在该篇中我们以采集虎扑 ...
- jq 加载的几种方法
jQuery加载的几种方式 //①页面加载完之前执行,与嵌入的js加载方式一样 (function ($) { alert('start'); })(jquery); //②页面加载后执行 $ ...
- 快学Scala 第二十课 (trait的构造顺序)
trait的构造顺序: 首先调用超类构造器 特质构造器在超类构造器之后,类构造器之前执行 特质从左向右被构造 每个特质当中,父特质先被构造 如果多个特质共有一个父特质,而那个父特质已经被构造,则不会被 ...
- App Crawler
Google官方出了一款App遍历工具App Crawler. 文档:https://developer.android.google.cn/training/testing/crawler App ...
- 利用双重检查锁定和CAS算法:解决并发下数据库的一致性问题
背景 最近有一个场景遇到了数据库的并发问题.现在先由我来抽象一下,去掉不必要的繁杂业务. 数据库表book存储着每本书的阅读量,一开始数据库是空的,不存在任何的数据.当用户访问接口的时候,判断 ...
- JVM(五)回收机制
1.对象的引用 JDK1.2之后,对象的引用分为了四种情况 强引用:Object obj = new Object():只要强引用还在,垃圾回收器就永远不会收集被引用的对象. 软引用:So ...