urllib3学习笔记(一)

简介: urllib3学习笔记(一)

urllib3学习笔记
urllib3简介

urllib3是个功能强大、条理清晰,用于HTTP客户端的第三方模块,许多Python的原生系统已经开始使用urllib3。urllib3提供了很多Python标准库里没有的重要特性:

• 线程安全

• 连接池

• 客户端SSL/TLS验证

• 使用multipart编码上传文件

• Helpers 用于重试请求并处理HTTP重定向

• 支持gzip和deflate编码

• 支持HTTP和SOCKS代理

• 100%的测试覆盖率

发送网络请求
GET请求
使用urllib3模块发送网络请求时,首先需要创建PoolManager对象,通过该对象调用request()方法来实现网络请求的发送。request()方法的语法格式如下:

request(method, url, fields = None, headers = None, ** urlopen_kw)

常用参数说明:

  • § method:必选参数,用于指定请求方式,如GET、POST、PUT等
  • § url: 必选参数,用于设置需要请求的URL地址
  • § fields:可选参数,用于设置请求参数
  • § headers:可选参数,用于设置请求头

1、使用request()方法实现GET请求
示例代码如下:

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :1/27/22 6:14 PM
# 文件      :request方法实现GET请求.py
# IDE      :PyCharm

import urllib3    # 导入urllib3模块
url = "http://httpbin.org/get"
http = urllib3.PoolManager()   # 创建连接池管理对象
r = http.request('GET',url)    # 发送GET请求
print(r.status)                # 打印请求状态码

运行结果:

200

2、使用PoolManager对象向多个服务器发送请求
一个PoolManager对象就是一个连接池管理对象,通过该对象可以实现向多个服务器发送请求。示例代码如下:

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :1/27/22 6:14 PM
# 文件      :request方法实现GET请求.py
# IDE      :PyCharm


import urllib3    # 导入urllib3模块
urllib3.disable_warnings()               # 关闭ssl警告
jingdong_url = 'https://www.jd.com/'     # 京东url地址
python_url = 'https://www.python.org/'   # Python url地址
baidu_url = 'https://www.baidu.com/'     # 百度url地址
http = urllib3.PoolManager()             # 创建连接池管理对象
r1 = http.request('GET',jingdong_url)    # 向京东地址发送GET请求
r2 = http.request('GET',python_url)      # 向python地址发送GET请求
r3 = http.request('GET',baidu_url)       # 向百度地址发送GET请求
print('京东请求状态码:',r1.status)
print('python请求状态码:',r2.status)
print('百度请求状态码:',r3.status)

备注
Python3.7, Python3.9.7可以正常运行以上程序,其他版本报错,即使import ssl也不能解决。

image.png

接下文 urllib3学习笔记(二)https://developer.aliyun.com/article/1615875?

相关文章
|
1月前
|
数据采集 JSON 应用服务中间件
urllib与requests模块万字超详细!!
本文介绍了Python中用于发送网络请求的两个重要模块:`urllib` 和 `requests`。首先,文章详细讲解了 `urllib` 模块的基本使用方法,包括构造请求、发送请求、处理响应等。接着,文章重点介绍了 `requests` 模块,强调了其在企业中的广泛应用,以及如何发送GET和POST请求、处理响应、使用代理、处理Cookie等内容。最后,文章还探讨了 `requests` 模块的高级功能,如处理证书错误、设置超时、使用 `retrying` 模块等,帮助读者全面掌握网络请求的处理技巧。
59 4
|
3月前
|
JSON 数据格式 Linux
urllib3学习笔记(二)
urllib3学习笔记(二)
60 9
|
4月前
|
数据采集 Python
urllib
【8月更文挑战第18天】
37 1
|
7月前
|
数据采集 应用服务中间件 数据安全/隐私保护
Python爬虫urllib详解#3
摘要:urllib深度解析与高级用法、robots协议分析【2月更文挑战第9天】
106 1
Python爬虫urllib详解#3
|
7月前
|
安全 测试技术 API
urllib3库的介绍以及使用
`urllib3`是Python的HTTP库,支持HTTP/HTTPS,自动管理连接池,提供代理、证书配置,重定向处理等功能。其优势在于连接池管理和HTTPS支持。要安装,使用`pip install urllib3`。发起HTTP请求如`http.request('GET', 'http//example.com')`。处理响应包括状态码、头部和内容。高级功能包括连接池管理、超时和重试策略。注意线程安全、资源释放及错误处理。官方文档和相关文章可提供更多信息。
212 0
|
编解码 Python
urllib库(中)
urllib库(中)
56 0
|
数据处理 Python
使用urllib库简单入门
使用urllib库简单入门
108 0
|
前端开发 Python
urllib的一些使用案例
urllib的一些使用案例
158 0
|
数据采集 Python
爬虫第一次笔记 urllib的基本使用 urllib一个类型,六个方法 urllib下载 urllib请求对象的定制
爬虫第一次笔记 urllib的基本使用 urllib一个类型,六个方法 urllib下载 urllib请求对象的定制
131 0
爬虫第一次笔记 urllib的基本使用 urllib一个类型,六个方法 urllib下载 urllib请求对象的定制
|
数据采集 JSON 数据格式
python爬虫urllib3模块详解
python爬虫urllib3模块详解
535 1
python爬虫urllib3模块详解