利用python如何实现发送一个得到请求接口?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
如果想用python做接口测试,我们首先有不得不了解和学习的模块。它就是第三方模块:请求。虽然python内置的urllib模块,用于访问网络资源。但是,它用起来比较麻烦,而且,缺少很多实用的高级功能。更好的方案是使用
请求。它是一个python第三方库,处理URL资源特别方便。查看其中文官网:http://cn.python-requests.org/zh_CN/latest/index.html英文官网:http://www.python-requests.org/en/master/可以看一下它的很多实用的高级功能。
请求完全满足今日web的需求。
- <李>维生,李连接池李> <>国际化域名和URL李> <李>带持久饼干的会话李> <李>浏览器式的SSL认证李> <李>自动内容解码李> <>李基本/摘要式的身份认证李> <李>优雅的键/值饼干李> <李>自动解压李> <>李Unicode响应体李> <李> HTTP (S)代理支持李> <李>文件分块上传李> <李>流下载李> <>李连接超时李> <>李分块请求李> <>李支持. netrc李>
您如果安装了蟒蛇,请求就已经可用了。否,则需要在命令行下通过pip安装:
pip安装请求注意:皮普很容易就会版本升级,
方法1:检测并更新
pip列表过时的
方法2:
, # 9830;先卸载:
pip卸载packagename
, # 9830;在用:easy_install。exe安装
easy_install。exe pip
出现安装收集包:idna, chardet, certifi,请求
成功安装certifi-2019.3.9 chardet-3.0.4 idna - 2.8 requests-2.21.0说明请求模块安装成功!
1,将安装好的请求模块导入后,通过得到访问一个URL地址的网页页面,如:https://www/douban.com
2,这里的r也就是回应,请求后的返回值,可以调用反应里的status_code方法查看状态码
3,状态码200只能说明这个接口访问的服务器地址是对的,并不能说明功能好,一般要查看响应的内容,r。文本是返回文本信息
看吧!这个就是请求的威力,看起来是不是很神奇很牛逼:
1,再发一个带参数的就请求,如在豆瓣网搜索:西游记,url地址为:https://www.douban.com/search& # 63; q=西游记
2,请求参数:q=西游记,可以以字典的形式传参:{“q":“西游记“}
3,多个参数格式:{“key1":“value1",“key2":“value2",“key3":“value3"}
这部分最容易犯错的部分,就是1,豆瓣网址后没有+/搜索;2,params错误的写成参数
1,豆瓣网首页如果用r。文本会发现获取到的内容有乱码,因为豆瓣网首页响应内容是gzip压缩的(非文本文本)
2,如果是在提琴手工具乱码,是可以点击后解码的,在代码里面可以用r。内容这个方法,内容会自动解码gzip和缩小压缩(这个就是开始介绍请求的高级功能:自动解码和自动解压)
1。响应的返回内容(内容)还有其它更多信息
- - - r。status_code #响应状态码
- - - r。内容#字节方式的响应体,会自动为你解码gzip和缩小压缩
- - - r。头#以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回没有
——r.json() #请求中内置的JSON解码器,请求的方便之处还在于,对于特定类型的响应,例如JSON,可以直接获取
- - - r。url #获取url
- - - r。编码#编码格式,请求自动检测编码
- - - r。饼干#获取饼干
- - - r。生#返回原始响应体- r。文本#字符串方式的响应体,会自动根据响应头部的字符编码进行解码
——r.raise_for_status() #失败请求(非200响应)抛出异常
看完上述内容,你们掌握利用python如何实现发送一个得到请求接口的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!