快速口算
小明要参加一个高技能比赛,要求每个人都要能够快速口算四则运算,2秒钟之内就能够得到结果,但是小明就是一个小学生没有经过特殊的培训,那小明能否通过快速口算测验呢?
这一题主要是考你如何利用编程,获取算式信息并计算其结果并提交。不可能用人工口算快速得到结果的,不要被题目所迷惑。
直接上代码(我使用的是python编写)
#!/usr/bin/env python
#-*- coding:utf_8 -*-
import re
try:
import requests
except ImportError:
raise SystemExit('\nimport module error ,please pip install requests!')
s = requests.Session()
header = {'Cookie': 'PHPSESSID=21043f4dd0550ef63816741ae089ea7f'}
url = 'http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php'
r = s.get(url, headers=header)
c = r.content
#regstr = re.compile(r'[0-9]+[*+]+[0-9]+[*+]+[0-9]+[*+]+\([0-9+]+\)')
#上面这样写的正则表达式有点啰嗦,看下面更简单的
regstr = re.compile(r'[0-9+*()]+[)]')
try:
obj = regstr.findall(c)
if obj:
result = eval(obj[0])
data = {'v':result}
r = s.post(url,data=data,headers= header)
print r.content
finally:
print 'ok!!!'
运行结果如下图:
将以上结果 123iohHKHJ%^&*(jkh 填入答案中,过关:)