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

Android中的Http通信

难度中级
时长 4小时11分
学习人数
综合评分9.47
108人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.2 逻辑清晰
  • 总结: * HttpURLConnection的connect()函数,实际上只是建立了一个与服务器的tcp连接,并没有实际发送http请求。 * 无论是post还是get,http请求实际上直到HttpURLConnection的getInputStream()这个函数里面才正式发送出去。 * * 对HttpURLConnection对象的一切配置都必须要在connect()函数执行之前完成。 * 而对outputStream的写操作,又必须要在inputStream的读操作之前。 * 这些顺序实际上是由http请求的格式决定的。 * * 在http头后面紧跟着的是http请求的正文,正文的内容是通过outputStream流写入的, 实际上outputStream不是一个网络流,充其量是个字符串流,往里面写入的东西不会立即发送到网络, 而是存在于内存缓冲区中,待outputStream流关闭时,根据输入的内容生成http正文。 * 至此,http请求的东西已经全部准备就绪。在getInputStream()函数调用的时候,就会把准备好的http请求正式发送到服务器了,然后返回一个输入流,用于读取服务器对于此次http请求的返回信息。由于http请求在getInputStream的时候已经发送出去了(包括http头和正文),因此在getInputStream()函数之后对connection对象进行设置(对http头的信息进行修改)或者写入outputStream(对正文进行修改) 都是没有意义的了,执行这些操作会导致异常的发生。
    查看全部
  • 在Android中开发HTTP客户端的一般方法:先用浏览器试一试,然后看浏览器传给server的request header和request body是什么,然后我们在开发Android的HTTP客户端的时候也仿照这同样的header和body设置就行了。
    查看全部
  • 先选择服务器tomcat,将本地apache服务器目录加入; 再新建dynamic web project起名web;运行run on server看是否可运行; 新建web页面,用于再网页上提交参数;新建ind.exjsp; 新建servlet起名myServlet,并重写doget和dopost doGet (){this.doPost(request,response);} doPost(){ String name=request.getParameter("name"); String age=request.gerParameter("age"); PringtWriter out=respinse.getWriter(); out.print(name+" "+age); system.out.print(name); system.out.print(age); } 在jsp中写form表单: action是在web.xml中自动生成的映射关系 <body> <form action="myServlet" method="get" name:<input type="text" name="name"><br> age:<input type="text" name="age"><br> submit:<input type="submit" value="submit"><br> > </form> </body> 在本网页可生成表单数据 客户端程序: RegistActivity和regist.xml
    查看全部
  • 有关于Syn ACK 的具体设置应该是有一定的规则的,建立连接的时候 应该是有特殊的标号,正常发信息时,tcp利用package 的这两个标志位进行有序保证,从而去建立重发机制,滑动窗口等机制
    查看全部
  • OSI参考模型将整个网络通信功能划分为七个层次: 由低到高分别是物理层PH、数据链路层DL、网络层N、传输层T、会话层S、表示层P、应用层A http协议属于应用层 每层直接为其上层提供服务,并且所有层次都互相支持。四到其层负责互操作性;一到三层用于创造两个网络设备间的物理连接 物理层和数据链路层:将比特流转换成电流信息,在物理设备电流设备转化 网络层:IP协议,规划网络ip地址 传输层:降底层信息通过nava协议传输,对应tcp、udp等协议 会话层:建立连接 表示层:在两个不同编码方式下进行数据转化和编码的加密解密操作 应用层:http访问层,应用请求协议 提出tcp/ip四层协议
    查看全部
    4 采集 收起 来源:http协议特点

    2016-08-28

  • HTTP协议的主要特点: 1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并受到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
    查看全部
    4 采集 收起 来源:http协议特点

    2016-08-28

  • 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:主机地址
    查看全部
  • 例子1:访问百度网址 步骤: 1.创建URL对象,URL就是我们统一资源的定位符的对象 2.通过URL,拿到一个Connectioin对象 3.通过connection设置一些请求的方式(用“GET”来请求网络的数据) 4.通过connection可以拿到读入流(网址的内容),拿到后放进BufferedReader缓冲区里面 5.通过每次读一行的情况下,把数据拿到StringBuffer当中 6.用WebView加载本地的html页面的信息
    查看全部
  • ggc
    http传输协议:首先客户机与服务器建立连接—客户机发送请求到服务器—服务器响应-客户机接受服务器返回的信息 URL:统一资源定位符。由三部分组成。第一部分为协议(https为加密协议)、第二部分为存有该资源的主机IP地址(有时包括端口号)、第三部分为主机资源的具体地址,如目录和文件名。 HTTP基于TCP/IP协议。 TCP/IP三次握手 SYN是TCP/IP连接时使用的握手信息(synchronous),在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN信息,服务器使用SYN+ACK应答表示接受到了这个信息,最后客户机再以ACK信息确认响应,这样在客户机和服务器机建立起可靠的TCP连接 ACK(Acknowledgement)即确认字符,表示已经接受到信息 http请求头信息: Request URL:请求的地址 Request Method:请求方法 Status Code:请求状态 Accept:可以接受的文件格式 Accept-Encoding:可接受的编码 Accept-Language:可接受的语言 Connection:连接方式 Host:主机地址 http响应码信息: 200 代表链接成功 400 代表客户端请求有语法错误 401 代表请求未经授权,这个状态吗必须和WWW-Authenticate报头域一起使用 403 服务器接到请求,但拒绝提供服务 404 请求的资源不存在 500 服务器发生不可预期的错误 503 服务器当前不能处理客户端的请求,一段时间后可能恢复
    查看全部
  • public static void trustAllHosts() {<br> TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {public java.security.cert.X509Certificate[] getAcceptedIssuers() {return new java.security.cert.X509Certificate[] {};}<br> public void checkClientTrusted(X509Certificate[] chain,String authType) throws CertificateException {}<br> public void checkServerTrusted(X509Certificate[] chain,String authType)<br> throws CertificateException {}} };<br> try {<br> SSLContext sc = SSLContext.getInstance("TLS");<br> sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());<br> } catch (Exception e) {e.printStackTrace();}}<br> public final static HostnameVerifier DO_NOT_VERIFY = new HostnameVerifier() {<br> public boolean verify(String hostname, SSLSession session) {<br> return true;}}; ctrl+shift+f组合键文本重排
    查看全部
  • 解决乱码问题 服务器端 new String(name.getBytes("iso-8859-1"),"utf-8")//字符转码操作,防止中文乱码 response.setContentType("text/html;charset=utf-8")//显示转码 客户机端 URLEncoder.encoder(name,"utf-8") 通过post发送信息不需要转码
    查看全部
  • JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 创建JSON数据的方法 只需要在普通JAVA项目中新建文件夹libs,并将json架包导入,同时设置环境变量Java Build Path下的json架包地址即可 将需要的数据转换成json字符串的方法 Gson gson=new Gsoon();//创建json对象 System.out.println(gson.toJson(result));//调用toJson方法 服务器端json Servlet创建方法 1.将普通java项目下的json数据导入 2.重写doPost方法 response.setContentType("text/html;charset=utf-8");//指定页面信息和返回的编码集 PrintWriter out = response.getWriter(); 3.添加创建json字符串的代码 4.调用out.println(gson.toJson(resutlt));方法
    查看全部
    2 采集 收起 来源:什么是json格式

    2018-03-22

  • http://h.hiphotos.baidu.com/image/pic/item/6c224f4a20a446239e8d311c9b22720e0cf3d70d.jpg
    查看全部
  • java中各种流的详解 http://blog.csdn.net/wanghuan203/article/details/6796164
    查看全部
  • 打机枪一样。。
    查看全部
首页上一页1234567下一页尾页

举报

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

微信扫码,参与3人拼团

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

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