为了账号安全,请及时绑定邮箱和手机立即绑定

Android中的Http通信

难度中级
时长 4小时11分
学习人数
综合评分9.47
108人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.2 逻辑清晰
  • 使用HttpURLConnection的POST和GET(接上一笔记) 5.注意 (1)最好是将通过输入流获取的数据在APP中打印出来,这里使用了一个Handler的message处理来实现的 Message msg = Message.obtain(); msg.obj = sb.toString(); handler.sendMessage(msg); (2)根据经验来看,最后必须要关闭流 (3)如果在openConnection()的时候就timeout,是因为网络不通。 因为我是公司的网络,所以要将手机也连接同一个网中。 6.GET和POST的异同点 (1)GET提交的数据是封装在url中的,但要注意要转成URL POST提交的数据是通过输出流写到server端的,但是注意是字节输出流 (2)数据量来讲,GET只能提交小数据,POST比GET要大 (3)数据保密性来讲,POST显然比GET要好一些,因为GET的方式是将数据直接放在url中,POST却将数据封装在流中 (4)注意client在同server交互的流全部使用的是字节流 POST提交数据: os = conn.getOutputStream(); os.write(("name="+name+"&age="+age).getBytes()); 获取输入流是转换成字符流再处理的 br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    查看全部
  • 使用HttpURLConnection的POST和GET 1.JAVA EE的安装以及Apache Tomcat运行环境的配置 http://jingyan.baidu.com/article/3a2f7c2e62d25e26afd611fa.html 2.MyServlet端的doGet() String name = request.getParameter("name"); String age = request.getParameter("age"); PrintWriter out = response.getWriter(); out.append("Served at: ").append(request.getContextPath()).append(" name="+name+" age="+age); 这是关键的一句,通过PrintWriter向输出流中写入了数据,HttpURLConnection通过getInputStream()就可以得到流数据。 3.GET方式 GET方式是通过URL提交了数据,所以提交的数据必须写在url中。 String urlGet = url+"?name="+name+"&age="+age; URL httpUrl = new URL(urlGet); conn.setRequestMethod("GET"); HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection(); 然后通过conn获取流数据。 4.POST方式 POST是将数据写在字符流中,然后通过输出流写到server端的。 URL httpUrl = new URL(url); conn = (HttpURLConnection) httpUrl.openConnection(); conn.setRequestMethod("POST"); os = conn.getOutputStream(); os.write(("name="+name+"&age="+age).getBytes()); 具体如图。
    查看全部
  • http
    查看全部
  • HttpUrlConnection介绍 1.关于HttpUrlConnection类的介绍,看一下API文档 它是继承自URLConnection类的,通过httpUrl.openConnection()获得一个实例 注意:一定要看那几个实现例子 2.本例子中实现了一个webView的加载 通过封装了字节流InputStream的BufferedReader字符流来获取网页的数据,最后通过WebView.loadData()将数据加载进来(如图) http://blog.csdn.net/jiong056/article/details/8253860 注意: 如果网页加载出现了乱码,注意看一下mimetype中指定的编码是不是有问题。 3.通过下载一个网页图片到本地,然后decode成一个bitmap,最后加载到imageView中 InputStream is = conn.getInputStream(); //创建http连接的输入流,用于读取流 FileOutputStream outputStream= null; File downloadFile = null; downloadFile = new File(……); outputStream = new FileOutputStream(downloadFile);//创建一个文件输出流,用于写流到文件中 byte[] b = new byte[2*1024]; int length; if(outputStream != null){ while((length = is.read(b))!=-1){ outputStream.write(b, 0, length); } } final Bitmap bitmap = BitmapFactory.decodeFile(downloadFile.getAbsolutePath()); 这个例子还可以直接改成从输入流中decode图片 InputStream is = conn.getInputStream(); final Bitmap bitmap = BitmapFactory.decodeStream(is); 4.注意关闭相关资源 is.close(); out.close(); conn.disconnet();
    查看全部
  • 关于Http协议 1.Http协议的详细介绍: HTTP,超文本传送协议,是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。简单理解就是提供了一种发布和接收网站页面的规范和方法。HTTP一般建立在稳定的链接上,不管是TCP还是UDP。 这里有详细的关于请求和响应的讲解:http://blog.csdn.net/gueter/article/details/1524447 另外还有两篇自己写的笔记,以及lenovo-guest服务器的鉴权分析。 2.关于URL,见自己的《JAVA socket应用》笔记 3.协议分层和三次握手,略 4.注意这是nate的视频,可以跳着看,不要听他说的话,要看代码和写的讲解。 复习时以笔记和代码为主。
    查看全部
  • URL
    查看全部
  • 整个的http访问过程
    查看全部
  • post方法请求
    查看全部
  • httpClient用get方法
    查看全部
  • t添加架包
    查看全部
    0 采集 收起 来源:什么是json格式

    2015-11-17

  • http/1.0和1.1<br> HTTP/1.0每次请求都需要建立新的TCP连接,连接不能复用。<br> HTTP/1.1新的请求可以在上次请求建立的TCP连接之上发送,连接可以复用。优点是减少重复进行TCP三次握手的开销,提高效率。<br> HTTP1.1增加了OPTIONS,PUT,DELETE,TRACE.CONNECT这些Request方法。 HTTP1.1在Request消息头里头多了一个Host域,HTTP1.0则没有这个域
    查看全部
    0 采集 收起 来源:http1.0和1.1区别

    2018-03-22

  • http响应码: 200 OK //客户端请求成功; 400 Bad Request //客户端请求有语法错误,不能被服务器所理解 401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 403 Forbidden //服务器收到请求,但是拒绝提供服务 404 Not Found //请求资源不存在,eg:输入了错误的URL 500 Internal Server Error //服务器发生不可预期的错误 503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常 二、OSI参考模型将整个网络通信功能划分为七个层次:<br> 由低到高分别是物理层PH、数据链路层DL、网络层N、传输层T、会话层S、表示层P、应用层A<br> http协议属于应用层<br> 每层直接为其上层提供服务,并且所有层次都互相支持。四到其层负责互操作性;一到三层用于创造两个网络设备间的物理连接<br> 物理层和数据链路层:将比特流转换成电流信息,在物理设备电流设备转化<br> 网络层:IP协议,规划网络ip地址<br> 传输层:降底层信息通过nava协议传输,对应tcp、udp等协议<br> 会话层:建立连接<br> 表示层:在两个不同编码方式下进行数据转化和编码的加密解密操作<br> 应用层:http访问层,应用请求协议<br> 提出tcp/ip四层协议
    查看全部
    0 采集 收起 来源:http协议特点

    2018-03-22

  • HTTP 是超文本传输协,面向应用层协议,传输的对象为文件 一次Http操作为一个事务 1:客户机和服务器建立连接,单击链接开始工作 2:客户机发送请求给服务器,格式为URL、协议版本号,后面是MIME信息 3:服务器接到请求后,给以响应信息,格式为一个状态行,包括协议版本号、一个成功或错误的代码,后面是MIME信息(404错误代码为无法响应) 4:客户端街道服务器的响应信息,然后断开连接 HTTP协议是一个无状态的协议 URL(UniformResourceLocator)为网页地址。由三部分构成:第一部分为协议(https为加密协议)、第二部分为IP地址(一般是域名表示IP地址)(有时包括端口号)、第三部分为主机资源的具体地址,如目录和文件名 TCP/IP三次握手 SYN是TCP/IP连接时使用的握手信息(synchronous),在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN信息,服务器使用SYN和ACK应答表示接受到了这个信息,最后客户机再以ACK信息确认响应,这样在客户机和服务器机建立起可靠的TCP连接 ACK(Acknowledgement)即确认字符,表示已经接受到信息 三次握手: 客户机:你好,我想和你建立连接(发送SYN请求连接) 服务器:你好,我已经接受到信息并且已经准备连接,同时我也想和你建立连接(发送ACK表示可以连接,同时发送SYN表示连接想法) 客户机:谢谢,我已经收到你的连接想法,同时我已经准备连接(回发ACK表示可以连接) 整个过程是双方都需要向对方发送连接想法和确认连接信息 http请求头信息: Request URL:请求的地址 Request Method:请求方法 Status Code:请求状态 Accept:可以接受的文件格式 Accept-Encoding:可接受的编码 Accept-Language:可接受的语言 Connection:连接方式 Host:主机地址 http响应形式: 200 OK //客户端请求成功 400 Bad Request //客户端请求有语法错误,不能被服务器所理解 401 Unauthorized //请求未经授权,这个状态码必须和WWW-Authenticate 报头玉一起使用 403 Forbidden// 服务器收到请求,但是拒绝提供服务
    查看全部
  • 数据的存储
    查看全部
  • 网络结构
    查看全部
    0 采集 收起 来源:http协议特点

    2015-11-15

举报

0/150
提交
取消
课程须知
本课程是Android初级课程 1、熟练掌握基本的Android应用程序开发方法 2、熟练掌握Android中数据请求的方式 3、明白get请求和post请求的区别和联系
老师告诉你能学到什么?
1、了解http基本协议 2、掌握http交互请求,例如post、和get请求 3、使用代码实现Android中的post和get请求

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!