专栏首页APP测试Python接口自动化-requests模块之get请求

Python接口自动化-requests模块之get请求

requests模块说明

介绍

Requests是Python语言的第三方的库,专门用于发送HTTP请求。在Python语言中,虽然提供了urllib2和urllib的库,但是相比较而言,Requests仍然是实现接口测试最好的选择,因为它是用起来更加简便。

特点

1.Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。

2.在python内置模块的基础上进行了高度的封装,从而使得python进行网络请求时,变得人性化,使用Requests可以轻而易举的完成浏览器可有的任何操作。

3.Requests会自动实现持久连接keep-alive,现代,国际化,友好。

安装并导入模块

安装requests

  • Pycharm在线安装:

File-Settings-Project Interpreter

  • pip在线安装 :

cmd-> pip install requests

  • 国内源:

pip install requests -i

https://pypi.tuna.tsinghua.edu.cn/simple/

导入requests

import requests

requests模块发送get请求

基本介绍

语法格式:requests.get(url, params=None, **kwargs)

如:requests.get(url=url, headers=headers, params=params)

  • url:请求url地址
  • headers:请求头
  • params:参数

简单使用

  • 获取响应状态码: res.status_code
  • 获取响应消息: res.content
  • 获取请求头: res.request.headers
  • 获取响应头: res.headers
  • 获取响应数据 res.text

响应结果一般有三种格式:html、json、text;

  • 获取cookie res.cookies

cookie是一种类字典的数据格式,若想打印字典的值,可以根据key;

  • res.json():如果返回结果是json格式,可以把响应结果利用json()来进行解析;

示例:

# !/usr/bin/python3
# -*- coding:utf-8 -*-
# @Time:2020/1/26  07:00
# @微信公众号:ITester软件测试小栈
# @Author:coco
# @Python交流群:604469740
# @Email:3593721069@qq.com
# @File:test.py
# @Software:PyCharm

#请求url
url = "http://httpbin.org/get"
#请求头
headers= {
 "Accept": "*/*",
 "Accept-Encoding": "gzip, deflate",
 "User-Agent": "python-requests/2.9.1"}
#查询字符串
params = {'name': 'coco', 'age': '18'}
res= requests.get(url, headers=headers, data=params)

#获取响应状态码 res.status_code
print("响应状态码:", res.status_code)

# 获取响应消息 res.content
print("响应消息:", res.content)

# 获取请求头 res.request.headers
print("请求头:", res.request.headers)

# 获取响应头 res.headers
print("响应头:", res.headers)

# 获取响应数据 res.text
print("响应数据:", res.text)

#获取cookie res.cookies
print("cookie:", res.cookies)

# res.json()
print("json:", res.json())

执行结果:

本文分享自微信公众号 - ITester软件测试小栈(ITestingA),作者:ITester小锦鲤

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-01-29

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python接口自动化之Token详解及应用

    在上一篇Python接口自动化测试系列文章:Python接口自动化之cookie、session应用,介绍了cookie、session原理及在自动化过程中如何...

    ITester软件测试小栈
  • Python接口自动化之cookie、session应用

    在上一篇Python接口自动化测试系列文章:Python接口自动化-requests模块之post请求,介绍了post源码,data、json参数应用场景及实战...

    ITester软件测试小栈
  • 测试面试题集-接口测试

    又到星期五啦,作为一个常年因计划赶不上变化的反面教材人物,每周一、三、五7:30能坚持更文一定是凭借着我上辈子修炼的毅力以及对这个正垂死挣扎的公众号的拼死补救。...

    ITester软件测试小栈
  • node.js实现BigPipe详解

    BigPipe 是 Facebook 开发的优化网页加载速度的技术。网上几乎没有用 node.js 实现的文章,实际上,不止于 node.js,BigPipe ...

    春哥大魔王
  • leetcode: 29. Divide Two Integers [✗]

    Petrichor_
  • 微信小程序接入百度OCR(身份证识别)

    支持对二代居民身份证正反面所有8个字段进行结构化识别,包括姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限,识别准确率超过99%;同时支持身份证正...

    Kindear
  • Swift教程(四)--集合类型

    Swift 提供了三种主要的集合类型(collection types),所谓的数组(arrays)、集合(sets)还有字典(dictionaries),用来...

    roc
  • Android开发(54) AIDL示例

    最近在考虑项目重构的时候,考虑将项目拆分成两个APK,一个用于数据服务,一个用于UI展示。 数据服务APK向自己编写APK提供数据,同时也可以向第三方提供数据...

    zhangyunfeiVir
  • 在Android中调用WebService

    某些情况下我们可能需要与Mysql或者Oracle数据库进行数据交互,有些朋友的第一反应就是直接在Android中加载驱动然后进行数据的增删改查。我个人不推荐这...

    欢醉
  • 【leetcode刷题】T39-字符串中的第一个唯一字符

    Given a string, find the first non-repeating character in it and return it's ind...

    木又AI帮

扫码关注云+社区

领取腾讯云代金券