首页 > 编程语言 >Python(requests.post()、requests.get())

Python(requests.post()、requests.get())

时间:2023-12-20 09:11:40浏览次数:32  
标签:请求 get Python URL url requests post

目录

1. requests.post()

requests.post 是 Python 中 requests 库提供的一个函数,用于发送 HTTP POST 请求。这个函数的基本语法如下:

import requests

response = requests.post(url, data=None, json=None, headers=None, params=None, auth=None, timeout=None)

其中参数的含义如下:

  • url: 字符串,表示请求的目标 URL。
  • data: 字典、字节序列或文件,作为请求的正文发送给服务器。
  • json: JSON 可序列化的对象,作为请求的正文发送给服务器。如果同时传递了 datajsonjson 参数会覆盖 data
  • headers: 字典,包含请求头的键值对。
  • params: 字典或字节序列,作为 URL 的查询参数。
  • auth: 元组,表示 HTTP 认证的用户名和密码。
  • timeout: 超时时间,以秒为单位,表示在请求过程中等待服务器响应的最大时间。

这个函数会返回一个 Response 对象,其中包含了服务器的响应信息。你可以通过这个对象来访问服务器返回的内容、状态码等信息。

一个简单的例子:

import requests

url = "https://example.com/api"
data = {"key1": "value1", "key2": "value2"}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=data, headers=headers)

print(response.status_code)
print(response.text)

在这个例子中,我们使用 requests.post 发送了一个 JSON 数据到指定的 URL,并通过响应对象访问了服务器返回的状态码和响应内容。



2. requests.get()

requests.get 是 Python 中 requests 库提供的一个函数,用于发送 HTTP GET 请求。这个函数的基本语法如下:

import requests

response = requests.get(url, params=None, headers=None, auth=None, timeout=None)

其中参数的含义如下:

  • url: 字符串,表示请求的目标 URL。
  • params: 字典或字节序列,作为 URL 的查询参数。
  • headers: 字典,包含请求头的键值对。
  • auth: 元组,表示 HTTP 认证的用户名和密码。
  • timeout: 超时时间,以秒为单位,表示在请求过程中等待服务器响应的最大时间。

这个函数会返回一个 Response 对象,其中包含了服务器的响应信息。你可以通过这个对象来访问服务器返回的内容、状态码等信息。

一个简单的例子:

import requests

url = "https://example.com/api"
params = {"key1": "value1", "key2": "value2"}
headers = {"Authorization": "Bearer <your_access_token>"}

response = requests.get(url, params=params, headers=headers)

print(response.status_code)
print(response.text)

在这个例子中,我们使用 requests.get 向指定的 URL 发送了一个带有查询参数和自定义请求头的 GET 请求,并通过响应对象访问了服务器返回的状态码和响应内容。



3. requests.post() 与 requests.get() 区别

requests.postrequests.getrequests 库中用于发送 HTTP 请求的两个主要函数,它们有以下区别:

  1. HTTP 方法:
    • requests.post: 用于发送 HTTP POST 请求,通常用于向服务器提交数据,如表单数据、JSON 数据等。
    • requests.get: 用于发送 HTTP GET 请求,通常用于从服务器获取数据,将参数附加在 URL 上。
  2. 传递数据:
    • requests.post
      • 使用 data 参数传递数据,通常用于发送表单数据。
      • 可以使用 json 参数传递 JSON 数据,方便发送 JSON 格式的数据。
    • requests.get
      • 使用 params 参数传递数据,将参数附加在 URL 后面,形成查询字符串。
  3. 请求体:
    • requests.post: 允许发送包含在请求体中的数据,适合发送大量数据。
    • requests.get: 通常不包含请求体,数据主要通过 URL 的查询字符串传递。
  4. 安全性:
    • requests.post: 因为数据传递在请求体中,相对于 URL,POST 请求更适合传递敏感数据。
    • requests.get: 由于参数附加在 URL 上,可能会在 URL 中留下痕迹,不适合传递敏感数据。
  5. 缓存:
    • requests.post: 不会被浏览器缓存。
    • requests.get: 可能会被浏览器缓存,特别是对于相同的 URL 和参数。
  6. 用途:
    • requests.post: 适用于向服务器提交数据,如登录、上传文件等。
    • requests.get: 适用于从服务器获取数据,如获取页面、API 数据等。

示例:

import requests

# POST 请求
post_url = "https://example.com/api"
post_data = {"key1": "value1", "key2": "value2"}
post_response = requests.post(post_url, data=post_data)

# GET 请求
get_url = "https://example.com/api"
get_params = {"key1": "value1", "key2": "value2"}
get_response = requests.get(get_url, params=get_params)

总的来说,选择使用 requests.post 还是 requests.get 取决于你的具体需求,即是要向服务器提交数据还是从服务器获取数据。



标签:请求,get,Python,URL,url,requests,post
From: https://www.cnblogs.com/keye/p/17915366.html

相关文章

  • 关联分析思想及其Python实现
    关联规则分析算法是一种用于挖掘数据集中项之间关系的技术,它可以揭示数据中的潜在模式和趋势。这种算法的核心思想是寻找数据集中频繁出现的组合,从而推断它们之间的关联关系。其中,Apriori算法是关联规则分析的代表之一。Apriori算法的基本原理是利用"先验原理",即如果一个项集是频......
  • python网站创建012:DOM、BOM、jQuery的使用
    DOM:标签操作模块。这个模块里面的方法专门用来操作HTML的标签的。比如说获取HTML标签的文本、或者给HTML标签加上样式<body><!--1、比如这里定义了一个div,然后你想获取div里面文本,该如何操作--><divid="txt">你好</div><script>//定义一个自执行函......
  • Prometheus Python client library.
    PrometheusPythonclientlibrary.http://prometheus.github.io/client_python/ Examplehttps://pbrissaud.github.io/suivi-bourse/用户场景没有价值,此项目以全栈的视角实现了自定义exporter的实现,可以直接参考。watchesyourstockshareonPrometheus/Grafana ......
  • Python 使用getopt解析命令行参数
    ​ 1、getopt模块此模块可协助脚本解析sys.argv中的命令行参数。它支持与Unixgetopt()函数相同的惯例(包括形式如'-'与'--'的参数的特殊含义)。也能通过可选的第三个参数来使用与GNU软件所支持形式相类似的长选项。1)getopt.getopt(args,shortopts,longopts=[])......
  • Python 调用 FFmpeg 处理合并视频文件
    ​ FFmpeg是一个开源的多媒体框架,它包含了用于处理音频、视频、字幕等多媒体数据的一系列工具、库和软件包。FFmpeg可以执行多种多媒体处理任务,包括转码、剪辑、合并、分离、编解码、流媒体传输等。它被广泛用于多媒体应用程序和流媒体平台中,是一个功能强大且高度可定制的工......
  • Python中强大的动态类型特性,以方法调用为例
    在研究大佬的项目时,从一行行代码溯源,拨茧抽丝的过程中,发现了方法调用的“神奇之处”具体情况如下:1.在类Trainer中名为run等方法中有加载预训练好的模型的load方法2.load()方法依旧是类方法中的一个,在load方法中有具体的load_self()方法3. load_self()定义在另一个py文件mod......
  • python - 批量压缩word图片
    主要分为3个步骤,提取图片,压缩图片,替换图片,需要用到python-docx和pillow1.提取图片importdocxdocName="test.docx"imageIndex=0document=docx.Document(docName)forrelindocument.part.rels.values():if"image"inrel.reltypeandhasattr(rel,"ta......
  • 决策树算法思想及其Python实现
    决策树算法是一种在机器学习和数据挖掘领域广泛应用的强大工具,它模拟人类决策过程,通过对数据集进行逐步的分析和判定,最终生成一颗树状结构,每个节点代表一个决策或一个特征。决策树的核心思想是通过一系列问题将数据集划分成不同的类别或值,从而实现对未知数据的预测和分类。这一算......
  • PostgreSQL中的事务隔离级别
    PostgreSQL中的事务隔离级别在确保多用户数据库环境中的数据一致性、完整性和并发控制方面起着至关重要的作用。当多个事务并发执行时,隔离级别定义了它们之间的相互隔离的程度。PostgreSQL提供了一系列的隔离级别,每个级别都有自己的一套保证和权衡,允许开发人员根据特定的需求定制......
  • Python的Requests库与网页爬取
    requests库的几种方法 其他几个方法内部实际都调用了requests.request()方法 Response对象的属性 首先要使用r.status_code判断连接是否成功。 Request库的异常  爬取网页的通用代码  需要处理异常,使爬取网页变得更有效、可靠、稳定。  HTTP  无......