【Python】一文教你如何使用 Requests 库

这篇具有很好参考价值的文章主要介绍了【Python】一文教你如何使用 Requests 库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Python】一文教你如何使用 Requests 库

 文章来源地址https://www.toymoban.com/news/detail-486177.html

作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?type=blog个人简介:打工人。

持续分享:机器学习、深度学习、python相关内容、日常BUG解决方法及Windows&Linux实践小技巧。

如发现文章有误,麻烦请指出,我会及时去纠正。有其他需要可以私信我或者发我邮箱:zhilong666@foxmail.com 

 

【Python】一文教你如何使用 Requests 库

目录

简介

发展史

Requests 库的主要功能包括:

        1. 发送 HTTP 请求

        2. 处理响应结果

        3. Session 管理

        4. 文件上传和下载

        5. 其他特性

使用步骤

        1. 安装 Requests 库

        2. 发送 HTTP 请求

        3. 处理响应结果

        4. Session 管理

        5. 文件上传和下载

以下是更多使用 Requests 库的示例代码:

        1. 使用 POST 方法发送 HTTP 请求,并传递 URL 参数和请求头:

        2. 自动处理 JSON 格式的响应结果:

        3. 使用代理服务器:

        4. 超时设置:

 总结


简介

        Requests 库是一个简洁易用的 Python HTTP 库,它基于 urllib3 库,可以用来发送 HTTP 请求,并处理响应结果。Requests 库提供了一种更人性化的接口,让用户更容易地编写 HTTP 请求代码。相比于 Python 自带的 urllib/urllib2 库,Requests 功能更加完整且易用,而且支持多种协议和认证方式,具有更好的扩展性和可读性。

发展史

        Requests 库是由 Kenneth Reitz 开发的。Kenneth 是一个 Python 社区的活跃成员,2011 年他发表了一篇名为 “Python HTTP: When in doubt, or when not in doubt, use Requests” 的博客,这篇文章介绍了他开发的 Requests 库,并强调了 Requests 库的易用性、友好性、可扩展性等优点。自此,Requests 库开始成为 Python 社区中最流行的 HTTP 库之一。Requests 库的当前版本是 2.26.0,是一个稳定、功能完善的 HTTP 库。

Requests 库的主要功能包括:

        1. 发送 HTTP 请求

        Requests 库可以发送 HTTP 请求,其中包括 GET、POST、PUT、PATCH、DELETE 等常见的 HTTP 请求方法,还支持定制请求头、请求参数、请求体、Cookie 等信息。同时,Requests 库还支持 HTTPS 和代理服务器等特性。

        2. 处理响应结果

        Requests 库可以处理 HTTP 响应结果,包括获取响应头、状态码、响应体、Cookies 等信息。同时,Requests 库还支持编码、解码响应结果、自动解析 JSON 和 XML 格式的响应结果。

        3. Session 管理

        Requests 库支持 Session 管理,可以让用户在多个请求之间共享 Cookie、用户认证等信息。同时,Session 还支持本地存储、代理和 SSL 验证等特性。

        4. 文件上传和下载

        Requests 库还支持上传和下载文件,可以处理文件的二进制流和文本流,同时还支持断点续传等特性。

        5. 其他特性

        Requests 库还支持重定向处理、认证、代理、超时控制、SSL 验证等特性,使得用户可以更好地控制 HTTP 请求的行为。

使用步骤

        1. 安装 Requests 库

        使用 pip 工具可以很方便地安装 Requests 库。

pip install requests

        如果是Linux,没有安装 pip 工具,请先使用以下命令安装: 

sudo apt-get install python-pip

        2. 发送 HTTP 请求

         使用 Requests 库可以很容易地发送 HTTP 请求。以下是一个简单的代码:

import requests

response = requests.get('https://www.baidu.com')
print(response.text)

        在上面的代码中,我们使用 requests 库发送了一个 HTTP GET 请求,获取了百度首页的 HTML 内容,并打印输出了响应结果的文本内容。当然,除了 GET 请求之外,还可以发送 POST、PUT、PATCH、DELETE 等请求方法,以及定制请求头、请求参数、请求体等信息。

        3. 处理响应结果

        处理 HTTP 响应结果也非常简单。以下是一个简单的代码:

import requests

response = requests.get('https://www.baidu.com')
print(response.status_code)
print(response.headers)
print(response.cookies)
print(response.text)

        在上面的代码中,我们使用 requests 库发送了一个 HTTP GET 请求,并获取了响应结果的状态码、响应头、Cookies 和文本内容。Requests 库还支持获取响应结果的二进制内容、JSON 和 XML 格式的结果等。同时,还支持自定义解析器,以便处理非标准的响应格式。 

        4. Session 管理

        使用 Requests 库的 Session 管理,可以在多个请求之间共享 Cookie、用户认证等信息。以下是一个 Session 简单的管理代码:

import requests

s = requests.Session()

s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
r = s.get('http://httpbin.org/cookies')
print(r.text)

        在上面代码中,我们创建了一个 Session 对象 s,自动处理 Cookie,并发送了两个 GET 请求。第一个请求设置了 Cookie 的值,第二个请求获取了当前的 Cookie 值。在第二个请求中,使用了 Session 对象 s,它自动携带了第一个请求中设置的 Cookie 值。 

        5. 文件上传和下载

        使用 Requests 库可以方便地上传和下载文件。以下是一个简单的文件上传代码:

import requests

url = 'http://httpbin.org/post'
files = {'file': open('report.xls', 'rb')}
r = requests.post(url, files=files)
print(r.text)

        在上面代码中,我们使用 Requests 库发送了一个 HTTP POST 请求,上传了一个名为 report.xls 的文件,并打印输出了响应结果的文本内容。

以下是更多使用 Requests 库的示例代码:

        1. 使用 POST 方法发送 HTTP 请求,并传递 URL 参数和请求头:

import requests

url = 'http://httpbin.org/post'
payload = {'key1': 'value1', 'key2': 'value2'}
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.post(url, data=payload, headers=headers)
print(response.text)

        2. 自动处理 JSON 格式的响应结果:

import requests

url = 'https://jsonplaceholder.typicode.com/todos/1'
response = requests.get(url)
data = response.json()
print(data)

        3. 使用代理服务器:

import requests

proxies = {
  'http': 'http://localhost:8080',
  'https': 'https://localhost:8080',
}
response = requests.get('http://httpbin.org/ip', proxies=proxies)
print(response.text)

        4. 超时设置:

import requests

response = requests.get('http://github.com', timeout=1)
print(response.text)

 总结

        Requests 库是一个功能强大、易用并受到广泛支持的 Python HTTP 库,它以其易用性、友好性、可扩展性等特点成为 Python 社区中最流行的 HTTP 库之一。Requests 提供了丰富的功能,包括发送 HTTP 请求、处理响应结果、Session 管理、文件上传和下载、代理服务器、重定向处理、认证、超时控制、SSL 验证等,同时提供了清晰、简单的 API,让用户更容易理解和使用。在开发 Python 网络应用程序时,Requests 库是不可或缺的一部分,可以使代码更加清晰、简洁和易于维护。

【Python】一文教你如何使用 Requests 库

 

到了这里,关于【Python】一文教你如何使用 Requests 库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一文教你如何设置git commit模板规范

    今天看公司代码的提交历史,发现信息量过少,甚至是误导的commit message非常常见,并且无法定位到禅道的相关任务(有的公司用的是jira),对新人来说,查找以往的提交记录很不友好。 为方便新人更快更准确的理解工程师所提交的需求或缺陷,git在提交时需要指定格式提交

    2024年02月11日
    浏览(35)
  • 一文教你如何将Eclipse项目导入到IDEA运行

    📖本篇超级详细案例截图教学 Eclipse web项目如何导入到Intellij IDEA中,图片点击可放大仔细看 工具版本说明: 工具    版本 Intellij IDEA    2022.3 tomcat    8.5 JDK    1.8 步骤一 .导入一个已存在的工程 1.1 File–New–Project from Existing sources。 1.2 选择Eclispe项目,然后点击OK。 1

    2024年02月04日
    浏览(46)
  • 【Vercel】教你部署imsyy/home个人主页

    本篇博客教你如何部署一个自己的个人主页 项目地址:https://github.com/imsyy/home 本文首发于 慕雪的寒舍 首先我们点击fork,将仓库复刻到自己的账户 随后进入vercel,点击 dashboard-add new-project 选择你复刻的仓库 然后什么都不用改,直接deploy 等待部署成功,点击domains,在这里添

    2024年02月07日
    浏览(109)
  • 一文3000字教你用Python + Jmeter 实现自动化性能压测

    Step01: Python脚本开发 文件路径: D://wl//testproject//Fone-grpc//project1//test_client.py Python 脚本作用: 通过 grpc 调用底层 c++ 的接口,做数据库的数据插入与查询操作,然后将返回的结果进行拼接与输出。 2. 代码里面将每一次调用后返回的内容进行拼接后,并做了成功信息的统计,输

    2024年02月02日
    浏览(43)
  • chatgpt赋能python:Python如何一次性输入多个数?教你使用Python中的多种方法

    在python编程中,我们经常需要输入多个数值。为了提高效率,Python提供了多种方法可以一次性输入多个数值。本篇文章将介绍几种常见的,在Python中如何一次性输入多个数值的方法。 最基础的方法是使用Python中内置的 input() 函数以及字符串的 split() 函数。 input() 函数用于从控

    2024年02月12日
    浏览(65)
  • 手把手教你使用Flask框架构建Python接口以及如何请求该接口

    Flask是一个轻量级的Web应用框架,基于Python编写,其核心思想是保持简洁,灵活性和易于扩展。 Flask是一个轻量级的Web应用框架,基于Python编写,其核心思想是保持简洁,灵活性和易于扩展。Flask提供了基本的Web开发工具和应用程序的结构,但同时也允许开发者自由选择其他库

    2024年02月06日
    浏览(103)
  • 一文教你搞懂如何配置VSCode,VSCode的配置究竟在配置什么。(C语言环境)

    VSCode 是一款微软出的轻量级编辑器,它本身只是一款 文本编辑器 而已,所有的功能都是以 插件 扩展的形式所存在,想用什么功能就安装对应的扩展即可,非常方便,同时也支持非常多的主题和图标,外观比较好看,重要的是VSCode支持各大主流操作系统,包括Windows、Linux和

    2024年04月15日
    浏览(44)
  • JavaScript | 1000个判断条件难道要写了1000个 if ? 一文教你如何实现分支优化

    🧑‍💼 个人简介:一个不甘平庸的平凡人🍬 🖥️ Nodejs专栏:Node.js从入门到精通 🖥️ TS知识总结:十万字TS知识点总结 👉 你的一键三连是我更新的最大动力❤️! 📢 欢迎私信博主加入前端交流群🌹 最近在网上冲浪时看到了这样一段代码: 咋一看没感觉有什么异常,

    2024年02月05日
    浏览(45)
  • 【python】如何安装requests库,以及如何引用(含报错如何解决)

    非常非常重要,后期操作大多都需要requests库,那么这篇文章就来分享下如何安装requests库,以及在python中如何引用 首先,看一下如何安装 1、定位到python的 scripts文件路径 2、使用命令安装pip install requests 安装requests库 3、在编辑器(我的是pycharm)中输入import requests如果没有报

    2024年02月20日
    浏览(49)
  • 教你一文教你使用自己的域名远程访问内网群晖NAS+6.X【内网穿透】

    在之前的文章中,我们向大家演示了如何使用cpolar,创建一条固定的、能够在公共互联网登录内网群晖NAS的数据隧道。这条隧道已经能够应对大多数情况。不过我们能看到,在公网登录内网群晖NAS时,使用的协议为http,而cpolar又支持自定义域名,那么我们完全可以更进一步,

    2024年02月15日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包