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服务器.但是项目代码挪到内网 ...
随机推荐
- 理解 Spring 注解编程模型
理解 Spring 注解编程模型 Spring 中有一个概念叫「元注解」(Meta-Annotation),通过元注解,实现注解的「派生性」,官方的说法是「Annotation Hierarchy」. ...
- Junit测试Service类方法教程
Junit测试是很方便的,本博客记录一下Junit测试一些Service接口的方法,这样可以不运行项目,在@Test注解的方法里直接测试 Maven引入jar包: <properties> ...
- 词义消除歧义NLP项目实验
词义消除歧义NLP项目实验 本项目主要使用https://github.com/alvations/pywsd 中的pywsd库来实现词义消除歧义 目前,该库一部分已经移植到了nltk中,为了获得更好 ...
- mysql创建表时字段类型选择与优化
一.选择原则 1.应该尽量使用可以正确存储数据的最小字段类型 2.选用简单的数据类型,例如:一个是尽量用mysql内置的字段类型来存储日期和时间:另一个存储IP地址尽量用整型:能用整型的尽量不用字符串 ...
- Spring 梳理-使用<context:property-placeholder>标签导入多个properties文件
使用<context:property-placeholder>标签导入多个properties文件 2017年12月20日 10:10:36 sf_climber 阅读数:5830更多 ...
- Excel VBA入门(十)用户窗体开发
VBA 中的用户窗体就是指带 UI 的用户界面,在运行的时候会单独弹出一个窗口,类似于在 windows 系统中运行的一个可执行程序一样(这个说法不太严谨,因为可执行程序也可能是只有命令窗口而没有 U ...
- Kotlin学习系列(二)
IF表达式 if在kotlin可以当做表达式使用跟java的三元操作符类似: var max = if( a > b ) a else b if分支可以使用代码块,最后一个表达式是返回值: va ...
- Java静态代理&动态代理&Cglib代理详解
一.静态代理 根据被代理的类的时机的不同,如果在编译阶段就能确定下来的被代理的类是哪一个,那么,就可以使用静态代理的方式. 申明一个接口: /** * @author jiaqing.xu@hand- ...
- Nodejs 发送邮件 激活邮箱
1. 安装nodemailer npm install nodemailer 项目中引入nodemailer var nodemailer = require('nodemailer'); 2.QQ邮 ...
- Scanner类的next()方法和nextLine()方法的异同点
通过一段代码就可以明白其中的奥妙!! import java.util.Scanner; public class next_nextLine { public static void main(St ...