Python-起源

Python 简介

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

  • Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
  • Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。
  • Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
  • Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

———————————————————————————————————————————————–

Python 发展历史


Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。

Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。

像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。

现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。

———————————————————————————————————————————————–

Python 特点

1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

2.易于阅读:Python代码定义的更清晰。

3.易于维护:Python的成功在于它的源代码是相当容易维护的。

4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。

5.互动模式:互动模式的支持,您可以从终端输入并获得结果的语言,互动的测试和调试代码片断。

6.便携式:Python可以运行在多种硬件平台和所有平台上都具有相同的接口。

7.可扩展:可以添加低层次的模块到Python解释器。这些模块使程序员可以添加或定制自己的工具,更有效。

8.数据库:Python提供所有主要的商业数据库的接口。

9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。

10.可扩展性:相比 shell 脚本,Python 提供了一个更好的结构,且支持大型程序。

———————————————————————————————————————————————–

Python优势

Python包含大量实用的库和工具,对于渗透测试、漏洞研究、逆向工程这将是一个很强大的功能

Python渗透测试工具合集

对于测试工程师来说,用Python开发自动化测试脚本,来进行自动化测试,无疑这也是很便捷的。
这里提供一个简单的自动化测试demo

#!/user/bin/python
# -*- coding: utf8 -*-

import sys
import re
from splinter.browser import Browser

#####################################################
# global instance
CLOASE_AFTER_TEST = False
GBK = "gbk"
UTF8 = "utf8"

#####################################################
# encoding for console
reload(sys)
sys.setdefaultencoding(UTF8)

#####################################################
# small method
encoding = lambda x:x.encode('gbk')

#####################################################
def output(x):
    """
        encode and print
    """
    print encoding(x)

def resultMsg(x):
    """
        judge result and print, x : True or False
    """
    if x == True:
        print 'pass'
    else:
        print '[X]not pass'
    print '--------------------------'

def checkresult(x):
    """
        check result message, x : the error message u want
    """
    resultMsg(browser.is_text_present(x))

def testLogin(desc, username, password, result):
    """
        fill login form message and submit, check result message and print
    """
    output(desc)
    browser.fill('TPL_username',username.decode(UTF8))
    browser.fill('TPL_password',password.decode(UTF8))
    browser.find_by_value('登录').first.click()
    checkresult(result)

__testUrl = 'http://waptest.taobao.com/login/login.htm?tpl_redirect_url=http%3A%2F%2Fm.taobao.com%2F'

# chrome driver : http://code.google.com/p/selenium/wiki/ChromeDriver
# already support firefox
browser = Browser()
browser.visit(__testUrl)

output("测试页面:"+browser.title)

try:
    # test login
    testLogin('测试未输入用户名','','','请输入会员名')
    testLogin('测试未输入密码','qd_test_001','','请输入密码')
    testLogin('测试帐户不存在','这是一个不存在的名字哦','xxxxxxx','该账户名不存在')
    testLogin('测试成功登录','qd_test_001','taobao1234','继续登录前操作')

    # test find password
    output("测试[找回密码]链接")
    browser.visit(__testUrl)
    backPasswordLink = browser.find_link_by_text('取回密码')
    if 1 == len(backPasswordLink):
        backPasswordLink.first.click()
        ru = re.findall(re.compile(".*(reg/gp.htm).*", re.IGNORECASE), browser.url)
        if ru is not None:
            checkresult('找回密码')
        else:
            output("测试找回密码链接失败")

except Exception,x:
    print x

if CLOASE_AFTER_TEST:
    browser.quit()

本文参考

Simon丶Ma:http://blog.csdn.net/u011225629/article/details/49976293
Python渗透测试工具:http://www.freebuf.com/sectool/94777.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值