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

Android中的Http通信

难度中级
时长 4小时11分
学习人数
综合评分9.47
108人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.2 逻辑清晰
  • 发送 Post 请求的部分代码 使用到了nameValuePair 来发送实体数据。
    查看全部
  • 发送 Get 请求的的部分代码
    查看全部
  • 第三方的包(Apache的项目):HttpClient HttpClient比HttpURLConnection更加的强大和丰富。所以建议使用这个来开发Android的http客户端。 但从android sdk(6.0)开始,Google在官方文档里已经不推荐用HttpClient。 ----------- 摘自评论区: 话说Google废弃了HttpClient,却没有新的网络框架作为替代……而实际开发中又并不会用HttpURLConnection,所以一般都是用开源网络请求框架,比如 loopj 和 Volley。 httpclient已经过时了,分享一篇博文,写的挺好的,http://dwtedx.com/itshare_394.html
    查看全部
    0 采集 收起 来源:httpclient简介

    2017-04-02

  • google浏览器开发者工具。快捷键ctrl+shift+i 或者选择谷歌浏览器右上角的菜单栏,选择更多工具 --> 开发者工具。
    查看全部
    0 采集 收起 来源:协议详解

    2018-03-22

  • 客户端使用doGet()方式提交数据,如果含有中文字符,可能就会产生乱码,解决方法:使用 URLEncode.encode(String, "utf-8")进行转码。 举例:url = url + "?name=" + URLEncode.encode(name,"utf-8") + "&age="+age; 而doPost()不用进行转码,因为 Android 手机默认使用的编码格式就是“utf-8”。 那么,如何查看手机使用的编码格式呢?可以先获取手机的系统的属性配置文件(示例代码是写在线程的doPost()方法中): Properties property = System.getProperties(); 打印出配置文件的信息: property.list( System.out ); 运行后,会在后台看到一条信息:file.encoding=UTF-8。 ----------- 摘自评论区: post请求时,只要req.setCharacterEncoding("UTF-8");这样就可以告诉服务器请求以utf-8编码解析,直接就是正确的中文。
    查看全部
  • 后台服务器出现中文乱码的原因:浏览器给后台提交数据的时候,Servlet默认使用“iso-8859-1”的编码格式,和服务器的编码格式不同。 解决方法:在 Servlet 中进行转码操作,如图。 new String(name.getBytes("iso-8859-1","utf-8")):先把字符串按照"iso-8859-1"格式转码并转换为字节,再按照"utf-8"格式转码,并转换为字符串。 设置响应头接收的文本类型:response.setContentType("text/html;charset=utf-8"); //文本类型是html,编码格式是utf-8。
    查看全部
  • doPost()方法的实现,通过 OutputStream 发送数据。 需要在 OutputStream 的 write()方法中将要发送的数据转换为字节形式。 doPost()方法比较安全,且能够发送比较大的数据量。
    查看全部
  • Get的提交方式是通过url传递参数,所以要注意 url 的格式: url = url + "?name=" + name + "&age=" + age; 也就是在网站的url后面添加问号,在问号后面添加参数,多个参数之间用“&”隔开。 此方法并不安全,并且能发送的数据量也极少。 之后别忘了在该线程的 run()方法中调用 doGet()。
    查看全部
  • jsp 页面的编写
    查看全部
  • 重写 Servlet 的doPost()方法 另外,doGet()直接调用 doPost()方法。
    查看全部
  • 自定义线程的run()方法的代码 URL httpUrl = new URL(url); // 根据网页是http还是https选择HttpURLConnection或者HttpsURLConnection HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection(); conn.setReadTimeout(5000); // 设置等待时间,应对网络超时 conn.setRequestMethod("GET"); // 设置请求方式 final StringBuffer sb = new StringBuffer(); // 作为从网页读取到的信息的缓冲 BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); String str; while ((str=br.readLine())!=null){ // 每次读取一行,并添加到缓冲中 sb.append(str); } handler.post(new Runnable() { @Override public void run() { webView.loadDataWithBaseURL(url, sb.toString(), "text/html", "uft-8", null); } }); 注意 Runnable 的 run()方法使用是的 webView.loadDataWithBaseURL,而不是图中的方法。 亲测发现访问不了百度,但可以访问其他网站,比如慕课网:http://www.imooc.com/
    查看全部
  • http 1.0 和 1.1 的区别 TCP三次握手是有开销的,连接的复用就减少了三次握手的重复进行,减少了开销,提高了效率。
    查看全部
    0 采集 收起 来源:http1.0和1.1区别

    2017-04-01

  • OSI (Open System Interconnection)七层协议 由低到高分别是: 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 ----------------- 如下摘自网络: 1. 物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。 2. 数据链路层(Data Link Layer)是OSI模型的第二层,负责建立和管理节点间的链路。 3. 网络层(Network Layer)是OSI模型的第三层,它是OSI参考模型中最复杂的一层。它在下两层的基础上向资源子网提供服务。其主要任务是:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。 4. 传输层(Transport Layer)是OSI模型的第4层。因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用。该层的主要任务是:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。 5. 会话层(Session Layer)是OSI模型的第5层,是用户应用程序和网络之间的接口,主要任务是:向两个实体的表示层提供建立和使用连接的方法。 6. 表示层(Presentation Layer)是OSI模型的第六层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。其主要功能是“处理用户信息的表示问题,如编码、数据格式转换和加密解密”等。 7. 应用层(Application Layer)是OSI参考模型的最高层,它是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。 后来有人将此简化为 TCP/IP 四层协议
    查看全部
    0 采集 收起 来源:http协议特点

    2017-04-01

  • Http协议的特点 无状态:对事务处理没有记忆。
    查看全部
    0 采集 收起 来源:http协议特点

    2017-04-01

  • 如图,Http常见的几种请求方式 Http请求的方式 GET 请求获取 Request-URI 所标识的资源 POST 在 Request-URI 所标识的资源后附加新的数据 HEAD 请求获取由 Request-URI 所标识的资源的响应消息报头 PUT 请求服务器存储一个资源,并用 Request-URI 作为其标识 DELETE 请求服务器删除 Request-URI 所标识的资源 TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断 CONNECT 保留将来使用 OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项 -------------- Http 响应码信息 200 OK //客户端请求成功 400 Bad Request //客户端请求有语法错误,不能被服务器所理解 401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate 报头域一起使用 403 Forbidden //服务器收到请求,但是拒绝提供服务 404 Not Found //请求的资源不存在,例如:输入了错误的URL 500 Internal Server Error //服务器发生了不可预期的错误 503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
    查看全部

举报

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

微信扫码,参与3人拼团

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

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