从0开始学python第10.2节-HTTP请求数据

上节课,我们学习了什么是网络、网络的发展历程和常见网络协议。这节课,我们重点学习一下HTTP协议和怎么用python请求、解析HTTP数据。

什么是HTTP

HTTP是超文本传输协议的简称。所谓超文本,就是在互联网上传输的信息。我们在浏览器里浏览的网页,就是使用超文本标记语言HTML实现的,下章我们会详细介绍HTML。

典型的HTTP传输如下:客户端(浏览器)对指定的url发起http请求。url指定的服务端在接收到请求后,将自己的数据(经常是html或json)返回给客户端。

我们分别看一下发起请求和请求响应的部分。

一个典型的请求头如下:

我们去请求服务端数据时,有,,,4种方式,其中 get和post较为常用。

请求的响应数据格式如下:

回应的格式是"头信息 + 一个空行(\r\n) + 数据"。其中,第一行是"协议版本 + 状态码(status code) + 状态描述"。

这里有个非常重要的,状态码。具体含义如下:

python的request模块

在python中,我们使用模块来发起发起http请求。

request 安装

我们可以使用命令安装requests包。

请求数据demo

调用 requests的get方法发起请求,请求参数是目标地址。

post请求的参数

post请求时的附带参数可以这样模拟:

get请求的参数

获取请求返回数据

返回结果json解码

设置超时(秒单位)

代码实例

下面,我们来看一个python通过http请求获取天气的小demo,看代码:

代码的第二行,我们往http的header里设置了请求码,用来做鉴权。当获得数据后,我们首先将结果转为json格式。然后读取返回数据的当前天气字段。

request模块里还有更多的方法来发起复杂HTTP请求,我们在具体项目使用时再一起学习。

阿达老师-孩子身边的编程专家

完整课程请关注阿达老师,主页里有完整的课程目录和观看地址

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180913A0720U00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券