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,中文意思是表述(编者注:通常译为表征)性状态转移. ...
随机推荐
- 了解ViewFlipper工作机制
平时我们在使用ViewFlipper的时候一方面感叹ViewFlipper的使用很简单,另一方面,我们时常感叹ViewFlipper给我们的接口方法太少,很多常用的效果都不好做,很难施展拳脚,这篇文章 ...
- 【转】Linux shell笔记
由于工作的需要,越来越多的接触到linux系统.最近看了<Linux与Unix Shell>这本书,安装书的章节整理了一些自己认为比较重要的命令,方便以后查阅. No.001 文件安全与权 ...
- 【转】vim取消高亮显示
vim是vi的加强版. 进入vim或编辑完毕按esc后,输入/可帮助查找字符串,例如/main帮助查找main函数,找到的main高亮显示. 取消高量显示的两个办法: 1)按esc键,输入:nohl ...
- H5WebSocket消息推送
1.效果图 2.前端代码 @{ ViewBag.Title = "Home Page"; } @*HTML5 WebSocket WebSocket是HTML5开始提供的一种在单个 ...
- java异常丢失及异常链
1.Java中异常丢失的情况: 先定义三个异常: public class ExceptionA extends Exception { public ExceptionA(String str) { ...
- 《Thinking in Java》学习笔记(一)
服务器端的编程可以参考另一本书<企业Java编程>(Thinking in Enterprise Java). 1.基本类型 基本型别 大小 最小值 最大值 默认值 boolean -- ...
- 洛谷 [P3384] 树链剖分 模版
支持各种数据结构上树,注意取膜. #include <iostream> #include <cstring> #include <algorithm> #incl ...
- UOJ Round #1 [数论 | DP 排列]
UOJ Round #1 难度很良心啊! 做出了前两题,第三题看到仙人掌就吓哭了. [UR #1]缩进优化 就是求 \[ \sum_{i=1}^n a_i - (x-1)\sum_{i=1}^n\lf ...
- BZOJ 4569: [Scoi2016]萌萌哒 [并查集 倍增]
传送门 题意:长为$n \le 10^5$的数字,给出$m \le 10^5$个限制$[l1,r1]\ [l2,r2]$两个子串完全相等,求方案数 把所有要求相等的位置连起来,不就是$9*10^{连通 ...
- 基于layui和bootstrap搭建极简后台管理框架
年前无聊,想自己搭建一个后台管理框架,对比了easyui.Extjs.H-ui.H+UI.layui几个框架,easyui和Extjs虽然功能强大但是界面实在是接受不了,H+UI和layuiAdmin ...