python接口自动化1-发送get请求

前言

requests模块,也就是老污龟,为啥叫它老污龟呢,因为这个官网上的logo就是这只污龟,接下来后面的自动化都离不开它。

一、环境安装

1.用pip安装requests模块

>>pip install requests

二、get请求

1.导入requests后,用get方法就能直接访问url地址,如:https://www.baidu.com/,看起来是不是很酷

2.这里的r也就是response,请求后的返回值,可以调用response里的status_code方法查看状态码

3.状态码200只能说明这个接口访问的服务器地址是对的,并不能说明功能OK,一般要查看响应的内容,r.text是返回文本信息

三、params

1.再发一个带参数的get请求,如在博客园搜索:yoyoketang,url地址为:http://zzk.cnblogs.com/s/blogpost?Keywords=yoyoketang

2.请求参数:Keywords=yoyoketang,可以以字典的形式传参:{"Keywords":"yoyoketang"}

四、content

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

2.如果是在fiddler工具乱码,是可以点击后解码的,在代码里面可以用r.content这个方法,content会自动解码 gzip 和deflate压缩

五、response

1.response的返回内容还有其它更多信息

-- r.status_code #响应状态码 -- r.content #字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩 -- r.headers #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None -- r.json() #Requests中内置的JSON解码器 -- r.url # 获取url -- r.encoding # 编码格式 -- r.cookies # 获取cookie -- r.raw #返回原始响应体 -- r.text #字符串方式的响应体,会自动根据响应头部的字符编码进行解码 -- r.raise_for_status() #失败请求(非200响应)抛出异常

对fiddler这个工具感兴趣,或者对python接口自动化有兴趣的,可以加python接口自动化QQ群:226296743

原文发布于微信公众号 - 从零开始学自动化测试(yoyoketang)

原文发表时间:2017-05-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逸鹏说道

“无法删除数据库,因为该数据库当前正在使用”问题解决

异常处理汇总-数据库系列 http://www.cnblogs.com/dunitian/p/4522990.html 以前刚学数据库的时候比较苦恼这个问题...

30040
来自专栏地方网络工作室的专栏

推荐一个命名变量的神奇网站 CODELF

推荐一个命名变量的神奇网站 CODELF 在我们写程序的时候,总是需要去给各种变量命名。于是各种命名大法都上来了,有拼音的,有首字母缩写的,各种各样。而我们推荐...

30870
来自专栏游戏开发那些事

【python游戏编程之旅】第二篇--pygame中的IO、数据

本系列博客介绍以python+pygame库进行小游戏的开发。有写的不对之处还望各位海涵。

12940
来自专栏上善若水

L14c程序执行的环境变量

execve(执行文件)在父进程中fork一个子进程,在子进程中调用exec函数启动新的程序。exec函数一共有六个,其中execve为内核级系统调用,其他(e...

11130
来自专栏电光石火

运行jar包找不到主类

在正确编译好java程序之后,打包,然后在命令行输入java -jar ,却弹出找不到或无法加载主类。 一检查,我的path环境变量都是对的呀?jav...

56890
来自专栏nummy

Tornado入门(二)【异步和阻塞IO】

实时Web应用通常针对每个用户创建持久连接,对于传统的同步服务器,这意味着需要给每个用户单独创建一个线程,这样做的代价非常高。

8820
来自专栏数据结构与算法

22:紧急措施

22:紧急措施 总时间限制: 1000ms 内存限制: 65536kB描述 近日,一些热门网站遭受黑客入侵,这些网站的账号、密码及email的数据惨遭泄露。你...

39380
来自专栏Python中文社区

Python判断文件是否存在的三种方法

專 欄 ❈Jerry,Python中文社区专栏作者。 blog:https://my.oschina.net/jhao104/blog github:ht...

252100
来自专栏微服务那些事儿

SpringCloud与elastic-job集成(一)

在项目初期,基于quartz我们做了一个原始的job调度服务,用以执行我们的定时任务,但是随着业务的扩充,对性能及稳定性有了更高的要求.

2.9K90
来自专栏mySoul

一个基于Node.js的本地快速测试服务器

第一个参数为post地址,第二个参数为端口号,将会把读取的JSON数据输出在控制台,并写入文件中,文件路径为 ./log/data.json

18250

扫码关注云+社区

领取腾讯云代金券