浅谈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 相关文章推荐
pyside写ui界面入门示例
Jan 22 Python
Python中关键字nonlocal和global的声明与解析
Mar 12 Python
让Python更加充分的使用Sqlite3
Dec 11 Python
python批量替换页眉页脚实例代码
Jan 22 Python
python编程使用selenium模拟登陆淘宝实例代码
Jan 25 Python
Python面向对象之类的定义与继承用法示例
Jan 14 Python
NumPy 数组使用大全
Apr 25 Python
Django 开发调试工具 Django-debug-toolbar使用详解
Jul 23 Python
python文字转语音实现过程解析
Nov 12 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
Dec 17 Python
Python3中的tuple函数知识点讲解
Jan 03 Python
Python-OpenCV教程之图像的位运算详解
Jun 21 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字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
2个比较经典的PHP加密解密函数分享
2014/07/01 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
2016/06/13 PHP
详解PHP数据压缩、加解密(pack, unpack)
2016/12/17 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
文本框的字数限制功能jquery插件
2009/11/24 Javascript
JavaScript中的集合及效率
2010/01/08 Javascript
ExtJs使用总结(非常详细)
2012/03/22 Javascript
jQuery获取浏览器中的分辨率实现代码
2013/04/23 Javascript
javascript实现textarea中tab键的缩排处理方法
2015/06/26 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
js时间戳转为日期格式的方法
2015/12/28 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
2018/07/03 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
2019/10/25 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
JS实现手风琴特效
2020/11/08 Javascript
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
2015/03/19 Python
Python 网页解析HTMLParse的实例详解
2017/08/10 Python
python3 破解 geetest(极验)的滑块验证码功能
2018/02/24 Python
python清除函数占用的内存方法
2018/06/25 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
Python Pillow Image Invert
2019/01/22 Python
py-charm延长试用期限实例
2019/12/22 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
css3 position fixed固定居中问题解决方案
2014/08/19 HTML / CSS
如何写毕业求职自荐信
2013/11/06 职场文书
法院信息化建设方案
2014/05/21 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
2014年学校国庆主题活动方案
2014/09/16 职场文书
大学生创业事迹材料
2014/12/30 职场文书
护士节慰问信
2015/02/15 职场文书
2019学生会干事辞职信
2019/06/27 职场文书
Golang生成Excel文档的方法步骤
2021/06/09 Golang
vue实现列表拖拽排序的示例代码
2022/04/08 Vue.js
Windows server 2012搭建FTP服务器
2022/04/29 Servers