当前位置: 首页 > 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() 清空连接池
http://www.lryc.cn/news/143432.html

相关文章:

  • 2023 CCPC 华为云计算挑战赛 D-塔
  • 手搓大模型值just gru
  • eslint
  • node_modules.cache是什么东西
  • Python 包管理(pip、conda)基本使用指南
  • 系统级封装(SiP)技术如何助力智能化应用发展呢?
  • git配置代理(github配置代理)
  • 【数据结构】详解环形队列
  • Python爬取网页详细教程:从入门到进阶
  • linux安装JDK及hadoop运行环境搭建
  • 使用ChatGPT一键生成思维导图
  • 极简Vim教程
  • 在线帮助中心也属于知识管理的一种吗?
  • 《Linux从练气到飞升》No.18 进程终止
  • 自动化运维工具——ansible安装及模块介绍
  • Qt XML文件解析 QDomDocument
  • Vue2向Vue3过度Vuex状态管理工具快速入门
  • 生产制造型企业BOM搭建分析
  • 大数据课程K11——Spark的数据挖掘机器学习
  • 【PHP面试题81】php-fpm是什么?它和PHP有什么关系
  • MyBatis分页查询与特殊字符处理
  • Docker Desktop 笔记
  • VS2022 C++修改Window系统DNS源代码V2.0
  • 科技的成就(五十)
  • 一文讲明白C++中的结构体Struct和类Class的区别以及使用场景
  • etcd学习入门
  • pyqt点击按钮执行脚本
  • 9.oracle中sign函数
  • LVS DR模式搭建
  • jmeter传参base64卡顿如何解决