利用python如何实现发送一个得到请求接口

介绍

利用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

利用python如何实现发送一个得到请求接口

出现安装收集包: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。文本是返回文本信息

看吧!这个就是请求的威力,看起来是不是很神奇很牛逼:

利用python如何实现发送一个得到请求接口

1,再发一个带参数的就请求,如在豆瓣网搜索:西游记,url地址为:https://www.douban.com/search& # 63; q=西游记

2,请求参数:q=西游记,可以以字典的形式传参:{“q":“西游记“}

3,多个参数格式:{“key1":“value1",“key2":“value2",“key3":“value3"}

利用python如何实现发送一个得到请求接口

这部分最容易犯错的部分,就是1,豆瓣网址后没有+/搜索;2,params错误的写成参数

1,豆瓣网首页如果用r。文本会发现获取到的内容有乱码,因为豆瓣网首页响应内容是gzip压缩的(非文本文本)

利用python如何实现发送一个得到请求接口

2,如果是在提琴手工具乱码,是可以点击后解码的,在代码里面可以用r。内容这个方法,内容会自动解码gzip和缩小压缩(这个就是开始介绍请求的高级功能:自动解码和自动解压)

利用python如何实现发送一个得到请求接口

1。响应的返回内容(内容)还有其它更多信息

- - - r。status_code #响应状态码

- - - r。内容#字节方式的响应体,会自动为你解码gzip和缩小压缩

- - - r。头#以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回没有

——r.json() #请求中内置的JSON解码器,请求的方便之处还在于,对于特定类型的响应,例如JSON,可以直接获取

- - - r。url #获取url

- - - r。编码#编码格式,请求自动检测编码

- - - r。饼干#获取饼干

- - - r。生#返回原始响应体- r。文本#字符串方式的响应体,会自动根据响应头部的字符编码进行解码

——r.raise_for_status() #失败请求(非200响应)抛出异常

看完上述内容,你们掌握利用python如何实现发送一个得到请求接口的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

利用python如何实现发送一个得到请求接口