request基本使用及各种请求方式参数的示例

yizhihongxing

当我们需要向网络服务端发送请求或获取数据时,可以使用 Python 中的 requests 库。下面是关于 requests 基本使用及各种请求方式参数的示例攻略。

安装 requests 库

要使用 requests 库,首先需要在命令行中安装:

pip install requests

基本使用

在代码中导入 requests 库:

import requests

然后可以使用 requests.get() 来获取页面:

r = requests.get('https://www.google.com/')
print(r.text)

返回的 r.text 就是获取到的页面内容。如果需要传递一些参数(比如 GET 请求时的查询参数),可以在 URL 中传递或使用 params 参数:

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get('https://www.google.com/', params=payload)

请求方式

requests 支持下列 HTTP 请求方式:

  1. GET
  2. POST
  3. PUT
  4. DELETE
  5. HEAD
  6. PATCH
  7. OPTIONS

下面依次介绍每个请求方式以及这些方式所对应的参数和示例。

GET 请求

GET 方法请求指定的页面信息,并返回响应正文。

例如:

import requests

r = requests.get('http://httpbin.org/get')
print(r.json())

上述代码中,我们使用 GET 方法向 httpbin.org 发送了一个 GET 请求,获取到了响应数据,并通过 json() 方法将响应内容转为 JSON 格式输出。

POST 请求

POST 方法提交指定的数据到 web 应用程序的指定页面。

例如:

import requests

payload = {'username': 'admin', 'password': 'admin'}
r = requests.post('http://httpbin.org/post', data=payload)
print(r.json())

上述代码中,我们向 httpbin.org 发送一个 POST 请求,并将用户名和密码分别作为 key 和 value 放入了请求报文中。同样,我们将响应数据转为 JSON 格式输出。

参数

除了 URL 和表单数据之外,requests 还支持以下参数:

headers

headers 是一个字典,可以自定义 HTTP 请求头。例如:

import requests

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
r = requests.get('http://httpbin.org/headers', headers=headers)
print(r.json())

上述代码中,我们自定义了 headers 中的 User-Agent,也就是模拟一个 Chrome 浏览器。

cookies

cookies 是一个字典或 CookieJar,用于传输 cookie 数据。例如:

import requests

cookies = dict(cookies_are='working')
r = requests.get('http://httpbin.org/cookies', cookies=cookies)
print(r.json())

timeout

timeout 参数是请求超时时间,单位秒。例如:

import requests

r = requests.get('http://httpbin.org/get', timeout=1)

上述代码中,我们设置了 1 秒超时时间,如果 1 秒内没有响应,就会抛出 requests.exceptions.Timeout 异常。

allow_redirects

allow_redirects 用于重定向,该参数默认为 True,即允许重定向。如果设置为 False,则不会自动重定向。例如:

import requests

r = requests.get('http://httpbin.org/get', allow_redirects=False)

上述代码中,我们禁止了重定向,因此如果服务器返回重定向响应,就会得到 3xx 错误码。

总结

在使用 requests 库时,我们首先需要安装库,然后可以通过 requests.get() 发送 GET 请求,或通过 requests.post() 发送 POST 请求。requests 还支持自定义请求头、传输 cookie 数据、设置超时时间、禁止重定向等等,使用这些参数可以更灵活地操作请求和获取响应。以上是 requests 基本使用及各种请求方式参数的示例攻略,希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:request基本使用及各种请求方式参数的示例 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python 用Counter做映射

    当我们需要对某些对象进行计数统计时,使用Python的Counter类可以实现快速、方便并且可读性高的代码。在这里,我将给大家介绍如何使用Python的Counter类进行映射,包括如何创建计数器、如何更新计数器、如何访问计数器数据及如何进行排序等。下面进入正题。 创建计数器 要使用Counter类,首先需要在代码中导入该库: from collection…

    python-answer 2023年3月25日
    00
  • Python shelve模块实现解析

    以下是关于“Python shelve模块实现解析”的完整攻略: 什么是shelve模块? shelve模块是Python标准库中用于持久化对象的一种工具,它可以将Python对象存储到磁盘上的一个文件或文件集合中,并使用键(key)来检索文件中的数据。shelve 模块是基于dbm模块实现的,而dbm是一个简单的持久化数据存储方案,它提供了一个用于在磁盘上…

    python 2023年6月2日
    00
  • Python 脚本实现淘宝准点秒杀功能

    Python 脚本实现淘宝准点秒杀功能攻略 1. 背景说明 随着电商交易活动的不断升温,各大电商平台的双十一、618、年货节等活动已成为人们翘首以盼的一年一度的购物狂欢时刻。然而,商品抢购热度不减,人数逐渐增多,导致平台服务器负荷巨大,造成秒杀响应缓慢、失败等问题。本文主要介绍如何使用 Python 脚本实现淘宝秒杀功能,以及相应步骤和代码实现。 2. 实现…

    python 2023年5月19日
    00
  • 线程和进程的区别及Python代码实例

    线程和进程是计算机操作系统中的两个基本概念,它们都是实现多任务的方法,但在具体使用中有着不同的特点和适用场景。 线程和进程的区别 定义 进程是指在计算机中运行的一段程序,可以理解为一个程序的实例;线程是进程中的一个执行单元,是 CPU 调度和分派的基本单位。 内存分配 进程有独立的内存空间,进程之间相互隔离,一个进程的内存不会被其他进程访问。 线程共享所属进…

    python 2023年6月6日
    00
  • python中字符串最常用的十三个处理操作记录

    下面我将详细讲解“python中字符串最常用的十三个处理操作记录”的攻略。 1. 切片操作 字符串切片就是通过指定起始位置和结束位置来截取字符串中的一部分。 s = "Hello World" s1 = s[0:5] # 取出前5个字符,结果为 "Hello" s2 = s[6:] # 取出第7个字符及之后的所有字符,…

    python 2023年6月5日
    00
  • Python 请求二进制内容

    【问题标题】:Python Request binary contentPython 请求二进制内容 【发布时间】:2023-04-01 21:55:01 【问题描述】: 我正在尝试从 Google 趋势 URL 获取 JSON,但我无法将其转换为 JSON,因为内容为 b”。我怎样才能得到这个结果作为 JSON? 我的简单代码: import reque…

    Python开发 2023年4月8日
    00
  • 简单讲解Python编程中namedtuple类的用法

    当我们需要定义一些复杂的数据类型时,可以使用Python中的namedtuple类。namedtuple是一个Python标准库集合模块中的数据类型,它是一个高性能的tuple子类,它允许定义带有命名字段的元组,元组内的每个元素都可以通过名称和索引访问。 下面是namedtuple类用法的详细说明: 什么是namedtuple namedtuple是Pyth…

    python 2023年5月14日
    00
  • Python实现将通信达.day文件读取为DataFrame

    以下是Python实现将通信达.day文件读取为DataFrame的完整攻略: 1. 了解通信达.day文件格式 通信达.day文件是通信达设备抓包后生成的网络数据文件,其格式为二进制格式。在读取通信达.day文件前,需要了解该文件中主要包含哪些数据: 通信达设备抓包后的原始数据(数据包) 每个数据包的时间戳 数据包长度 数据包的协议类型 2. 安装必要的P…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部