浅谈Python接口对json串的处理方法


Posted in Python onDecember 19, 2018

最近学习Python接口测试,对于接口测试完全小白。大概一周的学习成果进行总结。

1.接口测试:

目前涉及到的只是对简单单一的接口进行参数传递,得到返回自。

2.关于各种概念:

2.1 http请求包含post方法、get方法。通过json串或XML传递,但后者未做研究

2.2 GET: 浏览器告诉服务器,只获取页面信息,并发送给我。

2.3 POST:浏览器告诉服务器想法不一些信息到某个网址,服务器需确保数据被存储且只存储一次。

2.4 HEAD:浏览器告诉服务器,给我消息头,像get那样被接收。

2.5 Python对数据的处理模块可以使用urllib、urllib2模块或requests模块

3.urllib、urllib2实例

#coding=utf_8
import urllib2,urllib
import json
import unittest,time,re

class APITest():
  """
  接口测试类
  """
  def api_test(self, method, url, getparams, postparams):
    str1 = ''

    #GET方法调用
    if method == 'GET':
      if getparams != "":
        for x in getparams:
          str1 = str1 + x + '=' + urllib2.quote(str(getparams.get(x)))
          if len(getparams) > 2:
            str1 = str1 + "&"
        url = url + "&" + str1

      result = urllib2.urlopen(url).read()

    #POST方法调用
    if method=='POST':
      if postparams != "":
        data = urllib.urlencode(postparams)
        req = urllib2.Request(data)
      response = urllib2.urlopen(req)
      result = response.read()

    #result转为json数据
    jsdata = json.loads(result)
    return jsdata

class APIGetRes(unittest.TestCase):
  def test_call(self):
    api = APITest()
    getparams={'keyword':'测试'}
    postparams=''
    data = api.api_test('GET','http://api.zhongchou.cn/deal/list?v=1',getparams,postparams)
    print data
    if (data['errno']!=""):
      self.assertEqual(0, data['errno'])
      print"接口 deal/list-------------OK!"
    else:
      print"接口 deal/list-------------Failure!"
      self.assertEqual(0, data['errno'])

if __name__ == '__main__':
  unittest.main()

Requests实例

#coding=utf_8
import requests
import json
import unittest,time,re


class APIGetAdlis(unittest.TestCase):
  def test_call(self):
    github_url='http://api.zhongchou.cn/deal/list?v=1'
    data = json.dumps({'keyword':'测试'})
    resp = requests.post(github_url,data)
    print resp.json
    #if (data['errno']!=''):
    #  self.assertEqual(0, data['errno'])
    #  print"接口 deal/list-------------OK!"
    #else:
    #  print"接口 deal/list-------------Failure!"
    #  self.assertEqual(0, data['errno'])

粗略了解,待深入学习!

以上这篇浅谈Python接口对json串的处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的zip函数使用示例
Jan 29 Python
Python实现保证只能运行一个脚本实例
Jun 24 Python
Python基于checksum计算文件是否相同的方法
Jul 09 Python
python对DICOM图像的读取方法详解
Jul 17 Python
Python实现图片滑动式验证识别方法
Nov 09 Python
python实现五子棋人机对战游戏
Mar 25 Python
如何利用Pyecharts可视化微信好友
Jul 04 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
Jul 15 Python
python django下载大的csv文件实现方法分析
Jul 19 Python
新建文件时Pycharm中自动设置头部模板信息的方法
Apr 17 Python
用python实现前向分词最大匹配算法的示例代码
Aug 06 Python
python区块链实现简版工作量证明
May 25 Python
python实现的MySQL增删改查操作实例小结
Dec 19 #Python
python3 http提交json参数并获取返回值的方法
Dec 19 #Python
python3.6使用urllib完成下载的实例
Dec 19 #Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
Dec 19 #Python
对python内置map和six.moves.map的区别详解
Dec 19 #Python
对python中的six.moves模块的下载函数urlretrieve详解
Dec 19 #Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
Dec 18 #Python
You might like
php更改目录及子目录下所有的文件后缀的代码
2010/09/24 PHP
PHP可逆加密/解密函数分享
2012/09/25 PHP
javascript下function声明一些小结
2007/12/28 Javascript
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
向当前style sheet中插入一个新的style实现方法
2013/04/01 Javascript
Node.js中使用mongoskin操作mongoDB实例
2014/09/28 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
Python中使用动态变量名的方法
2014/05/06 Python
Python专用方法与迭代机制实例分析
2014/09/15 Python
python实现删除文件与目录的方法
2014/11/10 Python
Python设计模式之中介模式简单示例
2018/01/09 Python
分享vim python缩进等一些配置
2018/07/02 Python
python输入整条数据分割存入数组的方法
2018/11/13 Python
python的concat等多种用法详解
2018/11/28 Python
对python mayavi三维绘图的实现详解
2019/01/08 Python
Python装饰器限制函数运行时间超时则退出执行
2019/04/09 Python
简单了解python装饰器原理及使用方法
2019/12/18 Python
使用Django和Postgres进行全文搜索的实例代码
2020/02/13 Python
Python threading.local代码实例及原理解析
2020/03/16 Python
python实现扫雷游戏的示例
2020/10/20 Python
马来西亚最好的婴儿商店:Motherhood
2017/09/14 全球购物
佳能加拿大网上商店:Canon eStore Canada
2018/04/04 全球购物
Liu Jo西班牙官网:意大利服装品牌
2019/09/11 全球购物
Java基础类库面试题
2013/09/04 面试题
学历证明范文
2015/06/16 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
2016年母亲节广告语
2016/01/28 职场文书
MySql开发之自动同步表结构
2021/05/28 MySQL
电脑关机速度很慢怎么办 提升电脑关机速度设置教程
2022/04/08 数码科技
搭建zabbix监控以及邮件报警的超级详细教学
2022/07/15 Servers
Mysql中mvcc各场景理解应用
2022/08/05 MySQL