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,中文意思是表述(编者注:通常译为表征)性状态转移. ...
随机推荐
- 如何用命令将本地项目上传到github
一.Git终端软件安装 1.下载windows上git终端,类似shell工具,下载地址:http://msysgit.github.io/ 2.安装方法,打开文件,一路点击Next即可 3.安装完成 ...
- awk的+=用法
awk增加统计列值为增加列数或进行运行结果统计,使用符号 + =.增加的结果赋给符号左边变量值,增加到变量的域在符号右边.例如将 $ 1加入变量total,表达式为toatl+=$1.列值增加很有用. ...
- zabbix action理解
Maintenance status not in maintenance 谷歌翻译:维护状态不在维护中,中文意思就是监控的设备有problem,触发器报警了,然后执行action {TRIGGE ...
- 浅谈TreeMap以及在java中的使用
treemap结构是红黑树 1.先介绍一下平衡二叉树 其特点是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树.也就是说该二叉树的任何一个子节点,其左右子树的高度 ...
- scala 小结(一)
Scala 是什么?(What is scala?) 引用百度百科对于scala的定义: Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言.并集成面向对象编 ...
- APP测试(转载)
(1) 非功能测试 app测试的一个重要方面是app的非功能需求.移动app在推出市场或进行进一步开发前,测试人员有一定的职责做该类需求的跟踪工作. 早期开发阶段要进行的第一个测试应该是实用性测试.通 ...
- records.config文件配置模板
# # # Process Records Config File # # <RECORD-TYPE> <NAME> <TYPE> <VALUE (till ...
- java SimpleDateFormat日期与时间戳的相互转换
自我总结,有什么不到位的地方,各位可以帮忙纠正补充一下,感激不尽! 目的:SimpleDateFormat类可以很随意的组合日期时间的格式,不止单纯的yyyy-MM-dd这种格式 废话不多说,上代码 ...
- IIS6/7 配置问题
IIS7 / IIS6 HttpMoudles 在web.config 中不同的配置 原创 2011年04月25日 08:44:00 标签: iis / server 4357 昨天把我们写的程序布署 ...
- 树莓派小车By 树莓派爱好者ITJoker(通过python socket通信实现树莓派视频小车)(一)
本文由树莓派爱好者ITJoker 编辑,转载请注明出处.本人也有新浪博客同样是树莓派爱好者ITJoker 所需材料:树莓派2B或者2B以上,L2985n驱动板,若干排线,电池及电池盒,usb无线网卡( ...