商圈库-Http-Http工具 | 学习笔记

简介: 快速学习商圈库-Http-Http工具

开发者学堂课程【2020版大数据实战项目之DMP广告系统(第六阶段)商圈库-Http-Http工具】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/681/detail/11825


商圈库-Http-Http工具

 

内容介绍

一、目标和步骤

二、常见的Http客户端

 

一、目标和步骤

1.目标

通过这个章节,大家能够理解 Http 的本质内容,并且掌握 OkHttp 的基础使用,不是说Http只是在服务器和浏览器之间去使用,所有的只要用到这个功能的场景都可以去使用其他的工具符合 Http 的协议来发送消息。并且通过这个章节能掌握一个现代化的、好的Http的使用叫做OkHttp

2.步骤

大致分为三步,第一步是介绍Http客户端,第二步是介绍 OkHttp 的使用,第三步我们要封装一个 OkHtto 的工具类。大致分为两个视频,第一个去介绍常见的 Http 客户端,还有一个视频去介绍 OkHttp 的使用以及 OkHttp 的工具类如何封装

1)常见的 Http 客户端(主要)

2OkHttp 的使用

3)封装 OkHttp 的工具类

 

二、常见的 Http 客户端

1.浏览器

首先最常见的客户端就是浏览器,它的主要功能是比如访问一个百度,他会通过Http协议把这个网页加载出来,最重要的功能是呈现这个网页。包括执行GS、显示、加载hml,这些才是浏览器的功能

5.1.png

浏览器是可以直接访问一个 url,通过Get请求的方式去加载结果。但是,浏览器这个工具也可以搞一个 Post 请求,那么这个 Post 请求在我们之前学习 Html 的时候说过一个 form 表单

5.2.png

那么在这个工具里面,把这个文件先整理一下好,那个 DMP 目录,就是整个的 MP这个项目的目录。这个目录当中,我们先把 text html 给删除掉,然后删除掉这个东西以后再去创建一个新的文件,这个文叫做 testhtml

这时要编写一个 form 表单,就可以让发送一个post请求。表单的编写最外层是一个 <form 然后在里面接收一个 action 属性,在属性上输入“http://baidu.com,随便访问一个百度的服务器就可以。然后我们要给定一个method=POST”’,接下来补全表单,输入参数 Name<input type=text”确定以后要给定一个name,是我们把消息发给服务器的时候的K,这个K就叫做 name ,接下来<br>封口。

再给定一个Age,也是一个<input type= “text”,接下来 name 可以指定为“age”,最后再用<br>封口。接下来就可以给定一个提交按钮,用input来表示。它的类型比较特殊,因为他是按钮所以类型是 submit,接下来我们要给定一个value,就是默认显示的值,我们就让这个按钮显示 Submit,然后封口。

5.3.png

完成整个表单后可以在文件窗口打开,打开后双击 test

5.4.png

打开了这样的页面,使用之前先打开开发者工具

5.5.png

选中 Network,然后输入 name age 点击 Submit,出现一个百度请求

 5.6.png

这个请求方式是 Post,所以我们可以写一个 Form 表单的形式,去提交一个Post请求,它的参数在最后一个位置,那么这个参数就叫做 FormData

除了浏览器以外,我们还有一个其他的工具叫做 Api Debug,它可以让你通过图形化的方式来发送Http的请求

5.7.png

5.8.png

先复制 Url 点击工具,虽然看起来是一个网页,但其实不是,可以理解为一个应用程序。接下来就可以选择用一个什么样的请求方式。我们是一个 Get 请求,请求一个路径。那么这个路径的参数我们可以在网页复制K然后给定参数和值,如上图5.9.png

这时,它会直接把两个参数拼到 Url 后面,也就是说,在Get请求方式的时候。你给定 Promise 会自动的拼到 URL 后面的,这个内容也也加载出来了,并且显示的就是一个比较好的 Jason 的一个显示的结果,格式也非常的完整,那么它可以发Post请求吗,也可以在这儿选中 Post就可以了。我们可以去 Post 同一个 URL ,但是Post请求来看一看它有什么样的结果产生, send以后大家发现这个API使用Post来调也可以。以上就是两种请求,一个是软件,一个是浏览器

在浏览器地址栏输入 Url 进行访问便是 Get 请求

 

可以用代码来发送 Http 请求,用 HttpClientOkHttp ,一个是老字号

l  HttpClient

5.10.png

1. HttpClient 是早期Apache 开源的 Http 客户端

目标是模仿浏览器的所有行为,比较强大繁杂,封装的不是特别好。只有两种情况会有人使用它,一种是开发者本身不知道有其他的工具或者不想学习其他的工具,还有一种是原来有一个项目用的这个,现在在维护老项目的时候还在使用。所以实际上它已经有一点过时了

2. HttpClient 是一个 Java 客户端库

3. HttpClient 调用方式比较繁琐,性能也相对较差,所以现阶段使用的比较少了

它整个的调用方式是先创建一个 client出来,如果是 Get 请求就创建一个GetMethod,如果是 post 请求就创建一个 PostMethod。然后把对应的对象传进来,获取结果

HTTP 协议的客户端,其实就是只支持HTTP协议的一些工具,我们刚才,在浏览器当中去访问了某一个 URL,然后获取到了结果,其实最终是要在我们的 Spark 程序里访问HTTP接口,去访问高德的那个API最终还要使用代码里面的一个库来进行 HTTP的访问,我们就称之为叫做OK http。这就是http client的使用

5.11.png

 

l  OkHttp

还有一个工具做OK http,是很稳定的一个工具了,它支持HTTP2.0,虽然现在HTTP2.0没有多少网站在用,但是它支持就是很厉害的一点,他如果支持HTTP2.0的话,他肯定也是支持多路服用的,这是一个很强大的一个功能,这个OK http的调用方式非常的灵活简便,比较符合现阶段的这个新框架的设计原则

1. OkHttp 是一个相对比较新(其实也很久了)的一个 Http 客户端Java

2. OkHttp 支持 HTTP2.0/SPDY

3. OkHttp 调用方式相对灵活简便,同时 OkHttp 有一个上层的封装Retrofit

4.OkHttp代码精简,没有太多历史遗留问题,性能较好,现阶段使用的比较多

5.12.png

那他也使用一种类似于链式调用的方式来进行相应的调用,同时,OK http 有一个上层的封装叫做 RetrofitSpring 也有一个对应的工具,也可以使用接口的方式来发送请求,还是比较方便的。那么OK http 的代码非常的精简,没有太多历史遗留问题,性能也比较好

 

 

相关文章
|
4月前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
【7月更文挑战第31天】在网络数据的海洋中,使用Python的`requests`库构建网络爬虫就像探索未知的航船。HTTP协议指导爬虫与服务器交流,收集信息。HTTP请求包括请求行、头和体,响应则含状态行、头和体。`requests`简化了发送各种HTTP请求的过程。
83 4
|
4月前
|
JSON API 开发者
Python网络编程新纪元:urllib与requests库,让你的HTTP请求无所不能
【7月更文挑战第31天】互联网的发展使网络编程成为软件开发的关键部分. Python以简洁、功能强大著称, 在此领域尤显突出. `urllib`作为标准库, 自Python初期便支持URL处理, 如读取URL (`urllib.request`) 和解析 (`urllib.parse`). 尽管API底层, 但奠定了网络编程基础.
61 4
|
1月前
|
JSON 网络协议 网络安全
详解新一代 HTTP 请求库:httpx
详解新一代 HTTP 请求库:httpx
51 1
|
2月前
|
前端开发 JavaScript
|
2月前
|
数据采集 JSON API
🎓Python网络请求新手指南:requests库带你轻松玩转HTTP协议
本文介绍Python网络编程中不可或缺的HTTP协议基础,并以requests库为例,详细讲解如何执行GET与POST请求、处理响应及自定义请求头等操作。通过简洁易懂的代码示例,帮助初学者快速掌握网络爬虫与API开发所需的关键技能。无论是安装配置还是会话管理,requests库均提供了强大而直观的接口,助力读者轻松应对各类网络编程任务。
115 3
|
2月前
|
机器学习/深度学习 JSON API
HTTP协议实战演练场:Python requests库助你成为网络数据抓取大师
在数据驱动的时代,网络数据抓取对于数据分析、机器学习等至关重要。HTTP协议作为互联网通信的基石,其重要性不言而喻。Python的`requests`库凭借简洁的API和强大的功能,成为网络数据抓取的利器。本文将通过实战演练展示如何使用`requests`库进行数据抓取,包括发送GET/POST请求、处理JSON响应及添加自定义请求头等。首先,请确保已安装`requests`库,可通过`pip install requests`进行安装。接下来,我们将逐一介绍如何利用`requests`库探索网络世界,助你成为数据抓取大师。在实践过程中,务必遵守相关法律法规和网站使用条款,做到技术与道德并重。
51 2
|
2月前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
67 3
|
2月前
|
数据采集 网络协议 API
HTTP协议大揭秘!Python requests库实战,让网络请求变得简单高效
【9月更文挑战第13天】在数字化时代,互联网成为信息传输的核心平台,HTTP协议作为基石,定义了客户端与服务器间的数据传输规则。直接处理HTTP请求复杂繁琐,但Python的`requests`库提供了一个简洁强大的接口,简化了这一过程。HTTP协议采用请求与响应模式,无状态且结构化设计,使其能灵活处理各种数据交换。
79 8
|
2月前
|
JSON API 开发者
Python网络编程新纪元:urllib与requests库,让你的HTTP请求无所不能
【9月更文挑战第9天】随着互联网的发展,网络编程成为现代软件开发的关键部分。Python凭借简洁、易读及强大的特性,在该领域展现出独特魅力。本文介绍了Python标准库中的`urllib`和第三方库`requests`在处理HTTP请求方面的优势。`urllib`虽API底层但功能全面,适用于深入控制HTTP请求;而`requests`则以简洁的API和人性化设计著称,使HTTP请求变得简单高效。两者互补共存,共同推动Python网络编程进入全新纪元,无论初学者还是资深开发者都能从中受益。
51 7
|
3月前
|
开发者 Python
深入解析Python `requests`库源码,揭开HTTP请求的神秘面纱!
深入解析Python `requests`库源码,揭开HTTP请求的神秘面纱!
177 1

热门文章

最新文章