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,中文意思是表述(编者注:通常译为表征)性状态转移. ...
随机推荐
- JDBC(四)
1 Apache DBUtils框架 1.1 DBUtils简介 commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装,学习成本非常低,并且使用db ...
- 【转】centos安装vim7.4
centos安装vim7.4 系统版本centos6.4; root权限 su - root 卸载 $ rpm -qa | grep vim $ yum remove vim vim-en ...
- 【转】国际GNSS服务组织IGS
国际GNSS服务组织The International GNSS Service,简称IGS,前身为国际GPS服务组织.IGS提供的高质量数据和产品被用于地球科学研究等多个领域. IGS组织由卫星跟踪 ...
- JavaSE基础篇—流程控制语句—方法的定义 调用和重载
1.定义方法 是封装在一起来执行操作语句的集合,用来完成某个功能操作,简单的说就是提取出来的有特定功能的代码(程序).在某些语言中被称为函数或者过程,比较特殊的方法是main方法(主方法),main方 ...
- Cannot read property 'component' of undefined 即vue-router 0.x转化为2.x
原文链接:http://blog.csdn.net/m0_37754657/article/details/71269988 由于vue版本为1.0,没有一些vue-router指令:因而需要vue- ...
- BZOJ CF388D. Fox and Perfect Sets [线性基 数位DP]
CF388D. Fox and Perfect Sets 题意:求最大元素\(le n\)的线性空间的个数 给神题跪了 orz 容易想到 每个线性基对应唯一的线性空间,我们可以统计满足条件的对应空间不 ...
- BZOJ 2882: 工艺 [后缀自动机+map]
Description 小敏和小燕是一对好朋友. 他们正在玩一种神奇的游戏,叫Minecraft. 他们现在要做一个由方块构成的长条工艺品.但是方块现在是乱的,而且由于机器的要求,他们只能做到把这个工 ...
- BZOJ 2083: [Poi2010]Intelligence test [vector+二分]
2083: [Poi2010]Intelligence test Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 469 Solved: 227[Su ...
- Nginx设置身份验证
在某些情况下,需要对某些内容的访问进行限制,在Nginx中也提供了这样的限制措施,以下是几种常见的限制措施: 1.访问身份验证 在Nginx的插件模块中有一个模块ngx_http_auth_basic ...
- fatal error C1083:无法打开包括文件:“stdint.h”: No such file or directory解决方案
stdint.h文件是C99的标准头文件,默认情况下VC是不支持的,所以在使用过程中肯定会碰到 "No such file or directory"的问题. 解决办法 1.从网盘 ...