Http请求小结
1、Http请求:get方式
public void httpGet(String url,Map<String,Object> map) {
try {
String joint = parseMap(map);
if(!TextUtils.isEmpty(url)) {
url = url+"?"+joint;
}
URL newUrl = new URL(url);//创建URL
//打开网络连接
HttpURLConnection conn = (HttpURLConnection)newUrl.openConnection();
conn.setRequestMethod("GET");//设置请求方式
InputStream is = conn.getInputStream();//获取输入流(读取流)
BufferReader reader = new BufferReader(new InputStreamReader(is));
StringBuffer buffer = new StringBuffer();
if(2000 == conn.getResponseCode()) {//判断响应状态
String msg = null;
while(null != (msg = reader.readLine())) {//读取返回数据
buffer.append(msg);
}
}
Log.d("result",buffer.toString());
is.close();//关闭输入流
conn.disconnect();//关闭网络连接
} catch(MalformedURLException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}
}
解析传入参数:
public String parseMap(Map<String,Object> map) {
String result = "";
try {
if(null == map) {
return result;
}
for(String key : map.keySet()) {
result = result + key + "=" + URLEncoder.encode(map.get(key).toString(),"UTF-8")+"&";
}
if(!TextUtils.isEmpty(result)) {
result = result.substring(0,result.length() - 1);
}
} catch(UnsupportedEncodingException e) {
e.printStackTrace();
}
return result;
}
2、Http请求 :post方式
关于Content-Type类型特别说明,相关连接http://blog.csdn.net/blueheart20/article/details/45174399
public void httpPost(String url,String jsonObject) {
URL newUrl = null;
try {
if(null == url) {
return;
}
newUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection)newUrl.openConnection();
conn.setRequestMethod("POST");//设置请求方式
conn.setInput(true);//设置允许输入
conn.setOutput(true);//设置允许输出
conn.setConnectTimeout(30000);//设置连接主机超时(单位:毫秒)
conn.setReadTimeout(30000);//设置从主机读取数据超时(单位:毫秒)
conn.setRequestProperty("Content-Type","application/json");//设置请求头体格式
conn.setRequestProperty("Charset","UTF-8");//设置请求体编码
conn.setRequestProperty("Content-Length",String.valueOf(jsonObject.getBytes().length));//设置请求体长度
OutputStream os = conn.getOutputStream();//获取输出流(写入流)
os.write(jsonObject.getBytes());//输出数据
os.flush();
InputStream is = conn.getInputStream();
BufferReader reader = new BufferReader(new InputStreamReader(is));
StringBuffer buffer = new StringBuffer();
String msg = null;
while(null != (msg = reader.readLine())) {
buffer.append(msg);
}
Log.d("result",buffer.toString());
is.close();
conn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Http请求小结的更多相关文章
- Ajax请求小结
参数说明 ajax请求异步刷新页面=把需要异步刷新的页面单独写成一个.cshtml进行操作$.ajax({}); -------ajax方法.type: ------- 类型,此处为“POST” 还有 ...
- ajax的异步请求小结
如何判断是使用json还是jsp的数据传输: json字符串可以使用js,jquery,ajax,java这几种技术,页面为jsp页面,json数据为java后台传递来. 1.同步请求可以从因特网请求 ...
- postman使用动态token发post请求小结
最近使用postman做接口测试,感觉挺好用的. 测试中,每次post请求都要携带一个token,token是通过get请求得来的,动态变化的,并且token有有效期的限制.为了避免重复获取token ...
- 图解:HTTP 范围请求,助力断点续传、多线程下载的核心原理
题图:by Charles Loyer 一.序 Hi,大家好,我是承香墨影! HTTP 协议在网络知识中占据了重要的地位,HTTP 协议最基础的就是请求和响应的报文,而报文又是由报文头(Header) ...
- PHP实现登录,注册,密码修改
注册,登录,修改密码 1.登录 2.忘记密码 3.免费注册 页面布局 <div id="views" class="views"> <div ...
- 第86节:Java中的JQuery基础
第86节:Java中的JQuery 前言复习 定时器: setInterval clearInterval setTimeout clearTimeout 显示: img.style.display ...
- http 断点续传
一.序 Hi,大家好,我是承香墨影! HTTP 协议在网络知识中占据了重要的地位,HTTP 协议最基础的就是请求和响应的报文,而报文又是由报文头(Header)和实体组成.大多数 HTTP 协议的使用 ...
- 由"跨域"引出的一个终极思想(jsonp)
1.什么是跨域? 当协议.子域名.主域名.端口号中任意一个不相同时,都算作不同域. 跨域并不是请求发不出去,请求能发出去,服务端能收到请求并正常返回结果,但是因为浏览器存在一个"同源策略&q ...
- 笔记67 Spring Boot快速入门(七)
SpringBoot+RESTful+JSON 一.RESTful架构 REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. ...
随机推荐
- 壮美大山包-2017中国大山包国际超百公里ITRA积分赛赛记
2017年4月份用时28个多小时跑完江南100,付出的代价是双脚多达8个以上的水泡.所以接下来的4月29日的环汶川越野赛果断的从60公里换到了30公里组,慢悠悠的完成了. 虽然在赛道上一度想再也不参加 ...
- 【转】Linux Oracle服务启动&停止脚本与开机自启动
在CentOS 6.3下安装完Oracle 10g R2,重开机之后,你会发现Oracle没有自行启动,这是正常的,因为在Linux下安装Oracle的确不会自行启动,必须要自行设置相关参数,首先先介 ...
- JAVA泛型使用方法总结
1. 基本概念: (1)什么是泛型? 泛型,即"参数化类型".即将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用或 ...
- 14_Python字符串操作方法总结
字符串方法总结 #s = '**i love you\n\t' 测试s.strip()使用的字符串 s = 'i love you' #1.首字符大写,其余字符小写 print(s.capitaliz ...
- 01_Python入门
Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程 ...
- java之拦截器Interceptor
1,拦截器的概念 java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了 ...
- python 之进程篇
多线程给我们的感觉 1.因为GIL的存在,一个进程的多线程同一时刻只能进去一个,感觉是假的并发 2.只适合I/O密集型的任务 3.针对计算密集型,就挂了(变成串行了) 在python中想要充分利用多核 ...
- 如何更改图片的背景色(PS、证件照之星)
如何更改图片的背景色(PS.证件照之星) 1.1 证照之星教你如何给证件照换背景 证照之星教你如何给证件照换背景?这个问题困扰很多人,如果你不了解证照之星,一款专业的证件照片制作软件,你肯定就无法自 ...
- 没有dev-server.js文件,如何进行后台数据模拟?
最新的vue-webpack-template 中已经去掉了dev-server.js 但是要进行模拟后台数据的,如何模拟本地数据操作? 解决方法: dev-server.js 改用webpack-d ...
- Linux设置系统运行模式
Linux系统有7个运行级别(runlevel): 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 运行级 ...