推广 热搜: 行业  机械  设备    系统  教师    参数  经纪  蒸汽 

Python HTTP请求:urllib, urllib3与requests模块详解

   日期:2025-01-03     移动:http://sjzytwl.xhstdz.com/mobile/quote/86804.html

Python中实现HTTP网络请求常见的3种方式为:urlib,urllib3和requests。下面将一一进行介绍

Python HTTP请求:urllib, urllib3与requests模块详解

1.urllib模块

urllib是Python自带模块,该模块中提供了一个urlopen)方法,通过该方法指定URL发送网络请求来获取数据。urllib提供了多个子模块,具体的模块名称与含义如下

模块名称描述urllib.request该模块定义了打开url(主要是HTTP)的方法和类,如身份验证、重定向、cookie等urllib.error该模块主要包含异常类,基本的异常类是urlerrorurllib.parse该模块定义的功能分为两大类:URL解析和URL引用urllib.robotparser该模块用于解析robots.txt文件

通过urllib.request模块实现发送请求并读取网页内容的简单实例如下

上面的实例中,是通过get请求方式获取百度的网页内容。下面通哪个更使用urllib.request模块的post请求实现 获取网页信息的内容,实例如下

这里通过http://httpbin.org/posr网站进行演示,该网站可以作为联系使用urllib的一个站点使用,可以模拟各种请求操作。

2.urllib3模块

urllib3是一个功能强大,条理清晰,用于HTTP客户端的Python库,许多Python的原生系统已经开始使用urllib3.urllib3提供了很多Python标准库里没有的重要特性
(1)线程安全

(2)连接池

(3)客户端ssl/TLS验证

(4)使用多部分编码上传文件。

(5)Helpers用于充实请求并处理HTTP重定向

(6)支持gzip和deflate编码

(7)支持HTTP和socks代理

(8)100%的测试覆盖率

post请求实现获取网页信息的内容,代码如下

3.requests模块

requests是Python中实现HTTP请求的一种方式,reques是第三方模块,该模块在实现HTTP请求是要比urllib模块简化很多,操作更加人性化。在使用reques模块时需要执行pip install requests代码进行该模块的安装。requests功能那个特性如下。

(1)Keep-Alive &连接池

(2)国际化域名和url

(3)带持久cookie的会话

(4)浏览器 式的SSL认证

(5)自动内容解码

(6)基本/摘要式的身份认证

(7)优雅的key/value cookie

(8)自动解压

(9)Unicode响应体

(10)HTTP(S)代理支持

(11)文件分块上传

(12)流下载

(13)连接超时

(14)分块请求

(15)支持.netrc

以GET请求方式为例,打印多种请求信息的实例代码如下

以post请求方式,发送HTTP网络请求的实例代码

requests模块不仅提供了以上 两种常用请求方式,还提供一下多种网络请求方式。代码如下

 

 如果发现请求的url地址中参数是在“(问号)”的后面,例如,httpbin.org/get?key=val.requests模块提供了传递参数的方法,允许用户使用params关键字参数,以一个字符串字典来提供这些参数。例如,用户想传递key1=value1和key2=value2到httpbin.org/get,那么可以使用以下代码

 

 

本文地址:http://sjzytwl.xhstdz.com/quote/86804.html    物流园资讯网 http://sjzytwl.xhstdz.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号