首页 > 编程语言 >python requests模块

python requests模块

时间:2023-05-13 18:57:08浏览次数:39  
标签:请求 python url 模块 kwargs requests data response

requests是 Python 中用于发送 HTTP 请求的常用第三方库,可以方便地实现多种请求方式(如 GET、POST、PUT、DELETE 等),以及文件上传、Cookies 管理等功能。以下是 requests 模块的使用方法和注意事项:
  1. 安装 requests:使用 pip 命令安装 requests 库,命令为 "pip install requests"。

   以下是 requests 模块中一些常用方法的整理和示例:

1、requests.get(url, params=None, **kwargs):GET 请求通常用于获取资源,例如网页、图片或 API 数据。可以通过在 URL 中添加查询字符串参数或使用 params 参数来发送查询字符

import requests

response = requests.get('https://httpbin.org/get', params={'key1': 'value1', 'key2': 'value2'})

print(response.status_code) # 输出状态码,例如:200
print(response.content) # 输出二进制内容
print(response.text) # 输出文本内容

2、requests.post(url, data=None, json=None, **kwargs):POST 请求通常用于向服务器提交数据,例如表单数据、JSON 数据或文件上传等。可以使用 data 或 json 参数来传递数据。

import requests

payload = {'key1': 'value1', 'key2': 'value2'}

response = requests.post('https://httpbin.org/post', data=payload)

print(response.status_code) # 输出状态码,例如:200
print(response.content) # 输出二进制内容
print(response.text) # 输出文本内容

3、requests.put(url, data=None, **kwargs):PUT 请求通常用于更新资源,例如向服务器上传新版本的文件或修改数据库记录等。可以使用 data 参数来传递需要更新的内容。

import requests

payload = {'key1': 'value1', 'key2': 'value2'}

response = requests.put('https://httpbin.org/put', data=payload)

print(response.status_code) # 输出状态码,例如:200
print(response.content) # 输出二进制内容
print(response.text) # 输出文本内容

4、requests.delete(url, **kwargs):DELETE 请求用于删除给定 URL 上的资源,并返回响应对象。

import requests

response = requests.delete('https://httpbin.org/delete')

print(response.status_code) # 输出状态码,例如:200
print(response.content) # 输出二进制内容
print(response.text) # 输出文本内容

5、requests.head(url, **kwargs):HEAD 请求和 GET 请求类似,但是不返回响应体。因此,响应对象只包含响应头信息。

import requests

response = requests.head('https://httpbin.org/get')

print(response.status_code) # 输出状态码,例如:200
print(response.headers) # 输出响应头信息

6、requests.patch(url, data=None, **kwargs):PATCH 请求用于部分更新资源。可以使用 data 参数来传递需要更新的内容。import requests

import requests

payload = {'key1': 'value1', 'key2': 'value2'}

response = requests.patch('https://httpbin.org/patch', data=payload)

print(response.status_code) # 输出状态码,例如:200
print(response.content) # 输出二进制内容
print(response.text) # 输出文本内容

7、requests.options(url, **kwargs):OPTIONS 请求获取有关请求 URL 支持的方法和其他详细信息。这个方法很少使用。

import requests

response = requests.options('https://httpbin.org/get')

print(response.status_code) # 输出状态码,例如:200
print(response.headers) # 输出响应头信息

在使用 requests 模块的方法时,需要注意以下事项:

  1. requests.get(url, params=None, **kwargs):GET 请求可以通过在 URL 中添加查询字符串参数,或者使用 params 参数来发送查询字符串。params 参数应该是一个字典类型。

  2. requests.post(url, data=None, json=None, **kwargs):POST 请求传递数据可以使用 data 或 json 参数。如果是 JSON 数据,json 参数会自动将数据编码为 JSON 格式并设置适当的 Content-Type 头。data 参数应该是一个字典类型。

  3. requests.put(url, data=None, **kwargs):PUT 请求可以通过 data 参数来传递数据。如果请求中包含数据,则应该对 Content-Type 设置正确的值。

  4. requests.delete(url, **kwargs):DELETE 请求删除给定 URL 上的资源,并返回响应对象。

  5. requests.head(url, **kwargs):HEAD 请求和 GET 请求类似,但是不返回响应体。因此,响应对象只包含响应头信息。

  6. requests.patch(url, data=None, **kwargs):PATCH 请求用于部分更新资源。可以使用 data 参数来传递需要更新的内容。

  7. requests.options(url, **kwargs):OPTIONS 请求获取有关请求 URL 支持的方法和其他详细信息。这个方法很少使用。

除此之外,还需要注意以下几点:

  • 如果请求成功,响应对象的 status_code 属性会等于 200。
  • 可以通过响应对象的 content 属性访问响应的二进制数据,通过 text 属性访问文本内容。
  • 可以使用 headers 属性访问响应头信息,例如 Content-Type、Content-Length 等。
  • requests 模块还提供了其他参数和选项,例如 headers、timeout 和 auth 等。可以查看官方文档以获取更多信息。

标签:请求,python,url,模块,kwargs,requests,data,response
From: https://www.cnblogs.com/yund/p/17365416.html

相关文章

  • 关于Python环境
    1、为什么要使用虚拟环境? 版本不兼容安装多个包时候会使用到虚拟环境,虚拟环境相当python环境的副本,需要单独找个文件夹保存并领取一个名字。具体看连接  https://zhuanlan.zhihu.com/p/108534526    https://blog.csdn.net/chengyq116/article/details/105900122 2......
  • python--三维散点/曲线/曲面
    三维散点图importnumpyasnpimportmatplotlib.pyplotaspltfrommatplotlibimportcmfrommpl_toolkits.mplot3dimportAxes3D#二元二次函数图像fig=plt.figure()ax=Axes3D(fig)fig.add_axes(ax)x=np.arange(-5,5,0.3)y=np.arange(-5,5,0.3)X,Y......
  • Python 单元测试:assertTrue 和assertFalse 的真假
    导读Lightbot在这篇文章中,我们将介绍单元测试的布尔断言方法assertTrue和assertFalse与身份断言assertIs之间的区别。定义下面是目前单元测试模块文档中关于assertTrue和assertFalse的说明,代码进行了高亮:assertTrue(expr,msg=None)assertFalse(expr,msg=No......
  • 三菱FX3U 步进电机换算FB块 FB块的使用可以使程序模块化简单
    三菱FX3U步进电机换算FB块FB块的使用可以使程序模块化简单化,进而提高了程序的稳定性和可移植性。此例中使用FB块,可以实现步进电机的换算,已知距离求得脉冲数,已知速度可以求得频率。程序中包含有FB和ST内容;移植方便,在其他程序中可以直接添加已写好的FB块。ID:6516640576384128......
  • 三菱FX2N对台达变频器的ASCII的通信控制程序资料PLC采用FX2N,加FX3G-485BD扩展模块,采
    三菱FX2N对台达变频器的ASCII的通信控制程序资料PLC采用FX2N,加FX3G-485BD扩展模块,采用MODBUSASCII控制方式,可以通过PLC实现对变频器的正反转,启动停止的控制,频率的设定,加减速,以及对输出频率的监控。已实测,效果如视频,FX3U可以一样用,别的变频器支持ASCII通讯也可以用,资料包括触摸屏......
  • gym 加载/获取 其它模块/库的自定义环境 为什么不需要import自定义的模块/库 只需impo
    site-packages\gymnasium\__init__.py#Hooktoloadpluginsfromentrypointsload_plugin_envs()在这里载入的其它模块/库的自定义环境 Loadmodules(plugins)usingthegymnasiumentrypointsinordertoregisterexternalmodule'senvironmentson``importgymna......
  • python {} format
    用来按照你的需求格式化输出各种字符,比如"{:#06x}".format(i)。首先,我们需要知道,都是"{}".format()格式,大括号中的内容就是指定格式化的样式,以:开头。常见的有:标志意义:<左对齐:>右对齐:^居中:=把标志放到左边,后面可以跟数字,表示中间空多少位置:+在数......
  • 三菱FX3U4DA模拟量输出模块,使用ST结构化文本源代码制作的FB标准库文件,本人自己编写,上
    三菱FX3U4DA模拟量输出模块,使用ST结构化文本源代码制作的FB标准库文件,本人自己编写,上机测试正常,一个Plc可以最多带7个模块,直接程序中重复调用,简单易用。ID:7150629701091822......
  • Unity 角色移动2D动画模块
    usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;[RequireComponent(typeof(SpriteRenderer))]publicclassSpriteAnimator:MonoBehaviour{privateSpriteRendererspriteRenderer;[SerializeField]privateSpriteid......
  • Python学习之五_字符串处理生成查询SQL
    Python学习之五_字符串处理生成查询SQL前言昨天想给同事讲解一下获取查询部分表核心列信息的SQL方法也写好了一个简单文档.但是感觉不是很优雅.最近两三天晚上一直在学习Python.想将昨天的文档处理成一个工具的方式.将查询SQL展示出来.然后再由同事手工检查确认.增加时......