初学Python,如何入门requests模块?

2026-06-11 05:171阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计743个文字,预计阅读时间需要3分钟。

初学Python,如何入门requests模块?

Requests 是用 Python 编写的,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更方便,可以更高效地处理我们的大量工作,完全满足 HTTP 测试需求。Requests 的哲学是以人类可读、可写和可维护为核心理念。

一、写在前面


Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner。

那么,requests都有哪些应用场景呢?

1.服务器编程基础;

2.爬虫利器;

3.自动化接口测试;

4.运维监控脚本

等等

本篇,我就记录一下requests最常用的两个请求方式和以及响应,其他内容后续更新


二、安装

安装很简单,只需要使用命令行安装即可:

pip install requests

三、请求

3.1 GET请求

r = requests.get('api.github.com/events')

3.2 传递URL参数的GET请求

payload = {'key1': 'value1', 'key2': 'value2'} r = requests.get("api.github.com/some/endpoint' payload = {'some': 'data'} r = requests.post(url, data=json.dumps(payload))

或者是定义一个字符串的data

url = 'api.github.com/some/endpoint' payload = '{"some": "data"}' r = requests.post(url, data=payload)

此处除了可以自行对 dict 进行编码,你还可以使用 json 参数直接传递,然后它就会被自动编码

url = 'api.github.com/some/endpoint' payload = {'some': 'data'} r = requests.post(url, json=payload)

四、请求头

如果想为请求添加 HTTP 头部,只要简单地传递一个 dict 给 headers 参数就可以了。

url = 'api.github.com/some/endpoint' headers = {'user-agent': 'my-app/0.0.1'} r = requests.get(url, headers=headers)

五、响应

前面的请求例子中,每个请求都会赋值给一个名为 r 的 Response 对象,我们可以从这个对象中获取所有我们想要的信息

初学Python,如何入门requests模块?

5.1获得请求url

payload = {'key1': 'value1', 'key2': ['value2', 'value3']} r = requests.get('api.github.com/events') r.text #获得响应内容,类型为字符串 r.json() #如果 JSON 解码失败, r.json() 就会抛出一个异常 r.content #获得响应内容,类型为bytes-二进制响应内容 r.raw #原始响应内容,在罕见的情况下,你可能想获取来自服务器的原始套接字响应(后面会详细结合流数据来分析)

5.3响应状态码

r = requests.get('github.com', timeout=0.001)

后记

以上的两种关于requests库请求方式及响应方法应该可以处理一些基本问题了,后面会继续探索requests库的其他功能。

本文共计743个文字,预计阅读时间需要3分钟。

初学Python,如何入门requests模块?

Requests 是用 Python 编写的,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更方便,可以更高效地处理我们的大量工作,完全满足 HTTP 测试需求。Requests 的哲学是以人类可读、可写和可维护为核心理念。

一、写在前面


Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner。

那么,requests都有哪些应用场景呢?

1.服务器编程基础;

2.爬虫利器;

3.自动化接口测试;

4.运维监控脚本

等等

本篇,我就记录一下requests最常用的两个请求方式和以及响应,其他内容后续更新


二、安装

安装很简单,只需要使用命令行安装即可:

pip install requests

三、请求

3.1 GET请求

r = requests.get('api.github.com/events')

3.2 传递URL参数的GET请求

payload = {'key1': 'value1', 'key2': 'value2'} r = requests.get("api.github.com/some/endpoint' payload = {'some': 'data'} r = requests.post(url, data=json.dumps(payload))

或者是定义一个字符串的data

url = 'api.github.com/some/endpoint' payload = '{"some": "data"}' r = requests.post(url, data=payload)

此处除了可以自行对 dict 进行编码,你还可以使用 json 参数直接传递,然后它就会被自动编码

url = 'api.github.com/some/endpoint' payload = {'some': 'data'} r = requests.post(url, json=payload)

四、请求头

如果想为请求添加 HTTP 头部,只要简单地传递一个 dict 给 headers 参数就可以了。

url = 'api.github.com/some/endpoint' headers = {'user-agent': 'my-app/0.0.1'} r = requests.get(url, headers=headers)

五、响应

前面的请求例子中,每个请求都会赋值给一个名为 r 的 Response 对象,我们可以从这个对象中获取所有我们想要的信息

初学Python,如何入门requests模块?

5.1获得请求url

payload = {'key1': 'value1', 'key2': ['value2', 'value3']} r = requests.get('api.github.com/events') r.text #获得响应内容,类型为字符串 r.json() #如果 JSON 解码失败, r.json() 就会抛出一个异常 r.content #获得响应内容,类型为bytes-二进制响应内容 r.raw #原始响应内容,在罕见的情况下,你可能想获取来自服务器的原始套接字响应(后面会详细结合流数据来分析)

5.3响应状态码

r = requests.get('github.com', timeout=0.001)

后记

以上的两种关于requests库请求方式及响应方法应该可以处理一些基本问题了,后面会继续探索requests库的其他功能。