python接口自动化测试(二)-requests.get()

简介:

环境搭建好后,接下来我们先来了解一下requests的一些简单使用,主要包括:

  1. requests常用请求方法使用,包括:get,post
  2. requests库中的Session、Cookie的使用
  3. 其它高级部分:认证、代理、证书验证、超时配置、错误异常处理等。

 

本节首先来了解一下requests库中如何发送get请求:

一、看下方法定义:

1、到官方文档去了下requests.get()方法的定义,如下:

 

2、点击右上角的【source】,看一下它的源码如下:

 

看到最后一行return,get方法最后是通过调用 requests.request 方法实现的,其实在其它的请求方法如post,put,head,delete等方法都是调用的request方法,然后把请求方法的类型传递给request方法第一个参数。

 

3、HTTP协议是一个基于请求/响应模式的、无状态的,应用层协议。既然有请求,就有响应,来看下resquest中常用的响应信息:

 

二、get方法简单使用: 

1、不带参数的get:

复制代码
# -*- coding:utf-8 -*-
#不带参数的get

import requests
import json

host = "http://httpbin.org/"
endpoint = "get"

url = ''.join([host,endpoint])
r = requests.get(url)
#response = r.json()

print type(r.text)
print (eval(r.text))
复制代码

输出:

复制代码
{
    'origin': '183.14.133.88',
    'headers': {
        'Connection': 'close',
        'Host': 'httpbin.org',
        'Accept-Encoding': 'gzip,
        deflate',
        'Accept': '*/*',
        'User-Agent': 'python-requests/2.18.1'
    },
    'args': {
        
    },
    'url': 'http: //httpbin.org/get'
}
复制代码

 

2、 带参数的get:
复制代码
# -*- coding:utf-8 -*-
#带参数的get

import requests
import json

host = "http://httpbin.org/"
endpoint = "get"

url = ''.join([host,endpoint])
params = {"show_env":"1"}
r = requests.get(url=url,params=params)

print r.url
复制代码

 输出: 

复制代码
http://httpbin.org/get?show_env=1
{
    'origin': '183.14.133.88',
    'headers': {
        'X-Request-Id': 'ebe922b4-c463-4fe9-9faf-49748d682fd7',
        'Accept-Encoding': 'gzip,
        deflate',
        'X-Forwarded-Port': '80',
        'Total-Route-Time': '0',
        'Connection': 'close',
        'Connect-Time': '0',
        'Via': '1.1vegur',
        'X-Forwarded-For': '183.14.133.88',
        'Accept': '*/*',
        'User-Agent': 'python-requests/2.18.1',
        'X-Request-Start': '1504755961007',
        'Host': 'httpbin.org',
        'X-Forwarded-Proto': 'http'
    },
    'args': {
        'show_env': '1'
    },
    'url': 'http: //httpbin.org/get?show_env=1'
}
复制代码

 

3、带header的get:

复制代码
# -*- coding:utf-8 -*-

import requests
import json

host = "http://httpbin.org/"
endpoint = "get"

url = ''.join([host,endpoint])
headers = {"User-Agent":"test request headers"}

r = requests.get(url)
r = requests.get(url,headers=headers)
#response = r.json()
print (eval(r.text))['headers']['User-Agent']
复制代码

 输出:

test request headers

 

4、同时带参数和header:

复制代码
# -*- coding:utf-8 -*-
import requests
import json

host = "http://httpbin.org/"
endpoint = "get"

url = ''.join([host,endpoint])
headers = {"User-Agent":"test request headers"}
params = {"show_env":"1"}

r = requests.get(url)
r = requests.get(url,headers=headers,params=params)

#response = r.json()
print (eval(r.text))['headers']['User-Agent']
print r.url
复制代码

输出:

test request headers
http://httpbin.org/get?show_env=1

 

本文转自贺满博客园博客,原文链接: http://www.cnblogs.com/puresoul/p/7488488.html ,如需转载请自行联系原作者。



目录
相关文章
|
5月前
|
XML 测试技术 API
Python的API自动化测试
【4月更文挑战第17天】使用Python进行API自动化测试,可选框架如unittest、pytest。结合requests库发送HTTP请求,编写测试用例描述场景,使用断言验证响应。通过参数化测试提高覆盖率,集成CI工具实现自动化。记录测试结果,如用pytest和requests编写简单测试脚本。利用Postman、Allure和mocking技术优化测试流程。持续维护测试用例以应对API变化。
66 2
|
5月前
|
Python
Python中使用`requests`库进行异常处理与调试
【4月更文挑战第12天】在Python的网络编程中,使用`requests`库发送HTTP请求时,经常会遇到各种异常情况,如网络连接错误、请求超时、服务器错误等。为了确保程序的健壮性和稳定性,我们需要对这些异常进行妥善处理,并进行必要的调试。本文将详细介绍如何在Python中使用`requests`库进行异常处理与调试。
|
5月前
|
测试技术 Python
Python 的自动化测试:如何使用 Python 的 unittest 模块进行测试?
在Python中进行自动化测试可利用`unittest`模块。以下是一个简单的示例,展示了如何编写测试用例
22 0
|
Python
Python request如何做接口测试
Python request如何做接口测试
|
数据采集 测试技术 数据安全/隐私保护
python使用pytest接口自动化测试的使用
python使用pytest接口自动化测试的使用
371 0
 python使用pytest接口自动化测试的使用
|
JSON 前端开发 测试技术
Python+request+unittest实现接口测试框架集成实例
Python+request+unittest实现接口测试框架集成实例
273 0
 Python+request+unittest实现接口测试框架集成实例
|
JSON 数据可视化 测试技术
python之unittest框架实现接口测试实例
python之unittest框架实现接口测试实例
143 0
|
JSON 测试技术 网络安全
python接口自动化测试 - requests库的基础使用
python接口自动化测试 - requests库的基础使用
120 0
python接口自动化测试 - requests库的基础使用
|
JSON 测试技术 数据格式
python接口自动化测试 - requests库的post请求进行文件上传
python接口自动化测试 - requests库的post请求进行文件上传
804 0
python接口自动化测试 - requests库的post请求进行文件上传
|
前端开发 JavaScript 测试技术