使用python 进行api 接口测试

python (1):使用python 进行api 接口测试

原创 2015年05月29日 11:39:42

本文原文连接: http://blog.csdn.net/freewebsys/article/details/46228421 转载请注明出处!

1,关于requests

requests是python的一个http客户端库,设计的非常简单,专门为简化http测试写的。

官网: 
https://pypi.python.org/pypi/requests/ 
http://docs.python-requests.org/en/latest/user/quickstart/#make-a-request 
github项目地址 
https://github.com/kennethreitz/requests/

2,开发环境

mac下面搭建开发环境非常方便。

sudo easy_install pip
sudo pip install requests
  • 1
  • 2

测试下:python命令行

import requests
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
u'{"type":"User"...'
>>> r.json()
{u'private_gists': 419, u'total_private_repos': 77, ...}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

开发工具,之前使用sublime,发现运行报错,不识别table字符。

IndentationError: unindent does not match any outer indentation level
  • 1
  • 2

非常抓狂的错误,根本找不到代码哪里有问题了。甚至开始怀疑人生了。 
python的这个空格区分代码真的非常让人抓狂。开始怀念有大括号,分号的语言了。

彻底解决办法,直接换个IDE工具。使用牛刀,IDA开发。 
下载地址:https://www.jetbrains.com/pycharm/download/ 
直接下载社区版本即可,因为就是写个脚本啥的,没有用到太复杂的框架。 

果然效果非常好,直接格式下代码,和java的一样好使,可以运行可以debug。右键直接运行成功。

3,测试接口

没有啥太复杂的,直接使用requests框架即可。

#!/usr/bin/python
# -*- coding: utf-8 -*-

################
# python简明教程 http://woodpecker.org.cn/abyteofpython_cn/chinese/ 

import requests

#测试百度
def baidu_func(url):
    headers = {}
    params = {}
    req = requests.post(url, headers=headers, params=params)
    print(req.text)


if __name__ == '__main__':
    url = "http://www.baidu.com"
    baidu_func(url)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

4,总结

本文原文连接: http://blog.csdn.net/freewebsys/article/details/46228421 转载请注明出处!

测试非常重要,尤其是对外的接口出现的漏洞,需要花时间去仔细测试,同时要仔细分析代码。 
安全是挺重要的事情,要花时间去琢磨。 
python学习还是非常容易学习的,一个小时就能把语法学会。 
python简明教程: 
http://woodpecker.org.cn/abyteofpython_cn/chinese/ 
同时渗透测试,安全扫描的好多工具也是python写的。PyCharm CE版本的开发工具足够强大,能够帮你快速学习python。 
如果想快速做点界面的开发,wxPython是非常不错的选择。

展开阅读全文

没有更多推荐了,返回首页