python 模块urllib3 HTTP 客户端库

这篇具有很好参考价值的文章主要介绍了python 模块urllib3 HTTP 客户端库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

官网文档地址:https://urllib3.readthedocs.io/en/stable/reference/index.html文章来源地址https://www.toymoban.com/news/detail-669904.html

一、安装
pip install urlib3
二、基本使用
import urllib3
import threading

img_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 客户端库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【WebClient】客户端HTTP 超时配置

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 1、项目升级到Springboot3,使用WebFlux自带的WebClient作为HTTP客户端 2、接口类客户端方式调用外部服务,默认超时5S 3、需根据业务动态修改超时时间,如60S 报错如下: java.lang.IllegalStateException: Timeout on bl

    2024年02月12日
    浏览(41)
  • 微服务——http客户端Feign

    目录 Restemplate方式调用存在的问题 Feign的介绍 基于Feign远程调用 Feign自定义配置 修改日志方式一(基于配置文件) 修改日志方式二(基于java代码) Feign的性能优化 连接池使用方法  Feign_最佳实践分析   方式一: 方式二  实现Feign最佳实践(方式二)  两种解决方案 就像早期的事务

    2024年02月15日
    浏览(52)
  • Http客户端OkHttp的基本使用

    OkHttp是一个强大的开源HTTP客户端,它被广泛用于Android和Java应用程序中。OkHttp具有简单易用的API,提供了许多高级功能,如连接池、请求压缩和缓存等。 要使用OkHttp,需要在项目的构建文件中添加以下依赖: 请将 x.x.x 替换为您希望使用的OkHttp版本号。 GET请求 以下是发送G

    2024年02月09日
    浏览(58)
  • 【libevent】http客户端3:简单封装

    LibEventHttp

    2024年02月15日
    浏览(51)
  • Java常用的Http client客户端

    Apache HttpClient是一个开源的Java HTTP客户端库,具有丰富的功能集,包括自动重试、连接管理、cookie管理、代理支持和认证等。HttpClient已成为Java开发中广泛使用的HTTP客户端之一。 OkHttp是Square公司开发的一个高性能的HTTP客户端库,具有自动重试、连接池、交互式调试和压缩支持

    2024年02月08日
    浏览(49)
  • Forest声明式HTTP客户端框架漫谈

    Forest 是一款声明式的 Java 开源 HTTP 框架,相比它的前辈 Httpclient 和 OkHttp 更简明易懂、也更容易维护,使用过程中非常丝滑故想分享给更多的朋友,此处我们进行简单的介绍和使用说明。 Forest为声明式HTTP客户端框架。将繁复的 HTTP 请求细节封装成 Java 接口 + 注解的形式,不

    2024年02月09日
    浏览(50)
  • HTTP介绍 原理 消息结构 客户端请求 服务器响应 HTTP状态码

    HTTP协议 是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(www.world wide web)服务器传输超文本到本地浏览器的传送协议 HTTP 是基于TCP/IP(三次握手,四次挥手)通信协议来传输数据(HTML文件,图片文件,查询结果等) TCP:可靠的,丢包重传 UTP:不可靠的,直播,

    2024年02月05日
    浏览(54)
  • SocketTools 11在所有HTTP客户端组件支持

    在所有HTTP客户端组件中添加了对HTTP/2.0协议的支持。 更新了TLS 1.2(及更高版本)和SSH 2.0的安全选项,以使用Microsoft Windows 11和Windows Server 2022中提供的密码套件。较旧、安全性较低的密码套件已被弃用,在建立连接时将不会使用。回退选项可用于使用TLS 1.0连接到旧版服务器。

    2024年02月05日
    浏览(49)
  • 微服务中间件--http客户端Feign

    以前利用RestTemplate发起远程调用的代码: 存在下面的问题: 代码可读性差,编程体验不统一 参数复杂URL难以维护 Feign的介绍 Feign是一个声明式的http客户端, 其作用就是帮助我们优雅的实现http请求的发送, 解决上面提到的问题。 使用Feign的步骤如下: 1.引入依赖: 2.在order-

    2024年02月11日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包