当前位置: 首页 > news >正文

python 模块urllib3 HTTP 客户端库

官网文档地址:https://urllib3.readthedocs.io/en/stable/reference/index.html

一、安装
pip install urlib3
二、基本使用
import urllib3
import threadingimg_list = ["https://pic.netbian.com/uploads/allimg/220211/004115-1644511275bc26.jpg","https://pic.netbian.com/uploads/allimg/220215/233510-16449393101c46.jpg","https://pic.netbian.com/uploads/allimg/211120/005250-1637340770807b.jpg"
]http = urllib3.PoolManager()def get_image(url,name):result = http.request('GET',url)with open(f'{name}.jpg','wb') as img_file: #将获取的数据存入文件img_file.write(result.data)if __name__ == '__main__':for index,img_item in enumerate(img_list):task = threading.Thread(target=get_image,args=(img_item,index))task.start()task.join()
三、urllib3.request() 发送请求
import urllib3
'''
参数详解
method(字符串):指定请求的 HTTP 方法,例如 GET、POST、PUT、DELETE 等。默认为 GET。
url(字符串):指定请求的 URL。可以是一个完整的 URL,也可以是一个相对路径
fields(字典或类似对象):指定请求的表单字段。这个参数用于发送 application/x-www-form-urlencoded 类型的 POST 请求。字典的键是字段名,值是字段的值。
headers(字典):指定请求的头部信息。字典的键是头部字段名,值是字段的值
body(字节串或类似对象):指定请求的主体内容。这个参数用于发送请求的主体数据
retries(整数或 urllib3.Retry 对象):指定请求的重试次数。可以是一个整数,表示重试的次数;也可以是一个 urllib3.Retry 对象,用于更详细地配置重试的行为。
redirect(布尔值):指定是否自动重定向。如果设置为 True,则在遇到重定向时会自动跟随重定向。默认为 True。
timeout(浮点数或元组):指定请求的超时时间。可以是一个浮点数,表示超时的秒数;也可以是一个包含连接超时和读取超时的元组
preload_content(布尔值):指定是否预加载响应内容。如果设置为 False,则在访问响应内容时才会进行网络请求。默认为 True。
decode_content(布尔值):指定是否解码响应内容。如果设置为 False,则响应内容将保持原始的字节串形式。默认为 True。
assert_same_host(布尔值):指定是否验证请求的主机名与 URL 中的主机名是否匹配。默认为 True。
assert_fingerprint(字符串):指定要验证的 SSL 证书指纹。可以是一个 SHA-1 或 SHA-256 的十六进制字符串,用于验证服务器的证书。
cert_file(字符串):指定客户端证书文件的路径。用于进行双向 SSL 认证。
key_file(字符串):指定客户端私钥文件的路径。用于进行双向 SSL 认证。
ca_certs(字符串):指定 CA 证书文件的路径。用于验证服务器的证书。
disable_warnings(布尔值):指定是否禁用警告消息。如果设置为 True,则 urllib3 的警告消息将被忽略。
'''
result = urllib3.request('GET',url)
四、urllib3.PoolManager() 创建和管理连接池,以便在发送多个 HTTP 请求时重用连接
import urllib3
'''
参数详解
num_pools(整数):指定连接池的数量。默认为 10。每个连接池可以管理多个连接。
headers(字典):指定请求的头部信息。字典的键是头部字段名,值是字段的值
'''
http = urllib3.PoolManager()
  1. http.request(method,url,body,fields,headers) 发送请求
  • method(字符串):指定请求的 HTTP 方法,例如 GET、POST、PUT、DELETE 等。默认为 GET。
  • url(字符串):指定请求的 URL。可以是一个完整的 URL,也可以是一个相对路径
  • body(字节串或类似对象):指定请求的主体内容。这个参数用于发送请求的主体数据
  • fields(字典或类似对象):指定请求的表单字段。这个参数用于发送 application/x-www-form-urlencoded 类型的 POST 请求。字典的键是字段名,值是字段的值。
  • headers(字典):指定请求的头部信息。字典的键是头部字段名,值是字段的值
  1. http.clear() 清空连接池

相关文章:

python 模块urllib3 HTTP 客户端库

官网文档地址:https://urllib3.readthedocs.io/en/stable/reference/index.html 一、安装 pip install urlib3二、基本使用 import urllib3 import threadingimg_list ["https://pic.netbian.com/uploads/allimg/220211/004115-1644511275bc26.jpg",&…...

2023 CCPC 华为云计算挑战赛 D-塔

首先先来看第一轮的 假如有n个,每轮那k个 他们的高度的可能性分别为 n 1/C(n,k) n1 C(n-(k-11),1)/C(n,k) n2 C(n-(k-21),2)/C(n,k) ni C(n-(k-i1,i)/C(n,k) 通过概率和高度算出第一轮增加的期望 然后乘上m轮增加的高度加上初始高度,就是总共增加的高度 下面是…...

手搓大模型值just gru

这些类是构建神经网络模型的有用工具,并提供了一些关键功能: EmAdd类使文本输入数据嵌入成为可能,在自然语言处理任务中被广泛使用。通过屏蔽处理填充序列的能力对许多应用程序也很重要。 HeadLoss类是训练神经网络模型进行分类任务的常见损失函数。它计算损失和准确率的能力…...

eslint

什么是eslint ESLint 是一个根据方案识别并报告 ECMAScript/JavaScript 代码问题的工具,其目的是使代码风格更加一致并避免错误。 安装eslint npm init eslint/config执行后会有很多选项,按照自己的需求去选择就好,运行成功后会生成 .esli…...

node_modules.cache是什么东西

一开始没明白这是啥玩意,还以为是npm的属性,网上也没说过具体的来源出处 .cache文件的产生是由webpack4的插件cache-loader生成的,node_modules里下载了cache-loader插件,很多朋友都是vuecli工具生成的项目,内置了这部…...

Python 包管理(pip、conda)基本使用指南

Python 包管理 概述 介绍 Python 有丰富的开源的第三方库和包,可以帮助完成各种任务,扩展 Python 的功能,例如 NumPy 用于科学计算,Pandas 用于数据处理,Matplotlib 用于绘图等。在开始编写 Pytlhon 程序之前&#…...

系统级封装(SiP)技术如何助力智能化应用发展呢?

智能化时代,各种智能设备、智能互连的高速发展与跨界融合,需要高密度、高性能的微系统集成技术作为重要支撑。 例如,在系统级封装(SiP)技术的加持下,5G手机的射频电路面积更小,但支持的频段更多…...

git配置代理(github配置代理)

命令行配置代理方式一git config --global http.proxy http://代理服务器地址:端口号git config --global https.proxy https://代理服务器地址:端口号如果有用户名密码按照下面命令配置 git config --global http.proxy http://用户名:密码代理服务器地址:端口号git config --…...

【数据结构】详解环形队列

文章目录 🌏引言🍀[循环队列](https://leetcode.cn/problems/design-circular-queue/description/)🐱‍👤题目描述🐱‍👓示例:🐱‍🐉提示🐱‍🏍思…...

Python爬取网页详细教程:从入门到进阶

【导言】: Python作为一门强大的编程语言,常常被用于编写网络爬虫程序。本篇文章将为大家详细介绍Python爬取网页的整个流程,从安装Python和必要的库开始,到发送HTTP请求、解析HTML页面,再到提取和处理数据&#xff0…...

linux安装JDK及hadoop运行环境搭建

1.linux中安装jdk (1)下载JDK至opt/install目录下,opt下创建目录soft,并解压至当前目录 tar xvf ./jdk-8u321-linux-x64.tar.gz -C /opt/soft/ (2)改名 (3)配置环境变量&#xf…...

使用ChatGPT一键生成思维导图

指令1:接下来你回复的所有内容,都放到Markdown代码框中。 指令2:作为一个Docker专家,为我编写一个详细全面的Docker学习大纲,包括基础知识、进阶知识、项目实践案例,学习书籍推荐、学习网站推荐等&#xf…...

极简Vim教程

2023年8月27日,周日上午 我不想学那么多命令和快捷键,够用就行... 所以就把我自己认为比较常用的命令和快捷键记录成博客 目录 预备知识Vim的工作模式保存内容退出Vim复制、粘贴和剪切选中一段内容复制粘贴剪切撤回和反撤回撤回反撤回查找替换删除删除…...

在线帮助中心也属于知识管理的一种吗?

在线帮助中心是企业或组织为了提供客户支持而建立的一个在线平台,它包含了各种类型的知识和信息,旨在帮助用户解决问题和获取相关的信息。从知识管理的角度来看,可以说在线帮助中心也属于知识管理的一种形式。下面将详细介绍在线帮助中心作为…...

《Linux从练气到飞升》No.18 进程终止

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的…...

自动化运维工具——ansible安装及模块介绍

目录 一、ansible——自动化运维工具 1.1 Ansible 自动运维工具特点 1.2 Ansible 运维工具原理 二、安装ansible 三、ansible命令模块 3.1 command模块 3.2 shell模块 3.3 cron模块 3.4 user模块 3.5 group 模块 3.6 copy模块 3.7 file模块 3.8 ping模…...

Qt XML文件解析 QDomDocument

QtXml模块提供了一个读写XML文件的流,解析方法包含DOM和SAX,两者的区别是什么呢? DOM(Document Object Model):将XML文件保存为树的形式,操作简单,便于访问。 SAX(Simple API for …...

Vue2向Vue3过度Vuex状态管理工具快速入门

目录 1 Vuex概述1.是什么2.使用场景3.优势4.注意: 2 需求: 多组件共享数据1.创建项目2.创建三个组件, 目录如下3.源代码如下 3 vuex 的使用 - 创建仓库1.安装 vuex2.新建 store/index.js 专门存放 vuex3.创建仓库 store/index.js4 在 main.js 中导入挂载到 Vue 实例…...

生产制造型企业BOM搭建分析

导 读 ( 文/ 2358 ) 在上几篇文章中,我们讲到了基础的物料管理方法,在生产制造中,物料作为原材料,通过加工,结构组装成产品。那么加工、组装的依据将来源于设计人员出具的零件清单,也就是我们常说的BOM。 …...

大数据课程K11——Spark的数据挖掘机器学习

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Spark的概念——数据挖掘; ⚪ 了解Spark的概念——机器学习; ⚪ 了解Spark的概念——深度学习; ⚪ 了解Spark的概念——人工智能; ⚪ 了解Spark的概念——数据挖掘体系; ⚪ 掌…...

别再硬编码IP了!深入Nacos 2.x源码,看它如何‘智能’又‘犯错’地选择服务端地址

Nacos 2.x服务端IP地址选择机制深度解析与实战调优 在分布式系统架构中,服务注册与发现是微服务架构的核心基础设施。作为阿里巴巴开源的服务发现和配置管理平台,Nacos凭借其简单易用、功能强大等特点,已成为众多企业微服务架构的首选组件。…...

PSIM 9.0 手把手教学:从零搭建直流电机双闭环调速模型(附完整代码与波形分析)

PSIM 9.0 手把手教学:从零搭建直流电机双闭环调速模型(附完整代码与波形分析) 在电力电子与电机控制领域,仿真技术已成为工程师和研究人员不可或缺的工具。PSIM作为一款专业的电力电子仿真软件,以其高效的仿真速度和直…...

RePKG终极指南:如何深度解析Wallpaper Engine资源包与TEX纹理转换

RePKG终极指南:如何深度解析Wallpaper Engine资源包与TEX纹理转换 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG是一款专为Wallpaper Engine设计的专业级资源包解…...

轨道交通条形屏电源技术分析:超薄化与高可靠性的工程平衡

一、行业背景与技术挑战在智慧城轨建设中,地铁站内条形屏是乘客信息显示系统的核心终端设备。该应用场景对配套电源提出以下技术要求:技术需求具体指标工程挑战超薄化整机厚度3-8mm传统变压器/散热器高度难以压缩高可靠性MTBF≥50000小时轨道交通振动、温…...

OpenResearcher:AI驱动的模块化科研工作流框架实践指南

1. 项目概述:一个为研究者量身打造的AI驱动开源工具箱最近在折腾一些研究项目,发现从文献调研、数据处理到论文写作,整个流程里重复性劳动实在太多了。每次开一个新坑,光是搭建基础环境、找合适的工具链就得花上半天,更…...

深入解析浮点数内存存储与IEEE 754标准:从0.1+0.2≠0.3说起

1. 从一次“诡异”的计算错误说起前几天,一个刚入行的同事跑来找我,一脸困惑地给我看了一段Python代码。他写了个简单的循环累加,想计算0.1加10次,理论上应该等于1.0。但打印出来的结果却是0.9999999999999999。他反复检查了代码&…...

企业出海聘用海外员工该怎么挑选靠谱名义雇主服务商?

很多企业出海初期,都会卡在海外员工聘用这一步:没有海外实体,没法合法签合同、缴社保,想找名义雇主服务商,又怕选到不靠谱的,踩坑又不合规。结合我这几年帮出海企业对接服务商的经验,今天不玩虚…...

手把手教你用TI TICS Pro配置LMX2594时钟芯片(附寄存器导出与SPI写入指南)

手把手教你用TI TICS Pro配置LMX2594时钟芯片(附寄存器导出与SPI写入指南) 在高速数字系统设计中,时钟信号的稳定性和精确度往往决定着整个系统的性能上限。作为射频与通信领域的工程师,我深刻体会过时钟配置失误带来的调试噩梦—…...

微软UFO项目:基于视觉大模型的GUI自动化智能体实战解析

1. 项目概述:当“全能”AI助手遇见复杂任务编排 最近在AI应用开发圈里,一个来自微软研究院的项目“UFO”引起了我的注意。这名字听起来挺科幻,全称是“UI-Focused Agent”,直译过来是“专注于用户界面的智能体”。但别被这个直白的…...

Arm MPS3 FPGA开发板LED闪烁控制实战

1. 项目概述在嵌入式系统开发领域,FPGA(现场可编程门阵列)因其可重构特性成为硬件原型设计的首选平台。Arm MPS3 FPGA开发板作为一款功能强大的原型验证工具,为开发者提供了从算法验证到系统集成的完整解决方案。本次我们将通过经…...