实验吧编程题:百米

第一次用python写关于表单自动提交的程序,不是特别简练

题目是这样的:

经过观察,只有数字是变动的,运算符是不变的,这就容易很多了

思路:

  1. 抓取网页内容
  2. 通过正则表达式提取数字内容
  3. 通过特定的算术表达式计算出结果
  4. 提交表单
  5. 返回网页内容

python程序:

 1 #-coding:utf-8-*-
 2 import requests
 3 import re
 4 url = "http://ctf5.shiyanbar.com/jia/"
 5 session = requests.Session()
 6 res1 = session.get(url)
 7 zhengze = r"'my_expr'>(.*)</div>"    
 8 res2 = re.findall(zhengze,res1.content)[0]    #查找与正则表达式匹配的内容
 9 list = re.sub('[()+x-]','',res2).split()    #将符号替换为空,之后将空格删除并放入列表
10 res3 = (int(list[0])+int(list[1]))*(int(list[2])-int(list[3]))-(int(list[4])+int(list[5])-int(list[6]))*int(list[7])    
11 payload = {'pass_key':res3}
12 res4 = session.post(url+'index.php?action=check_pass',payload)
13 print res4.content

 

本文固定链接:http://www.cnblogs.com/hell0w/p/7624851.html  转载请注明出处,谢谢!

转载于:https://www.cnblogs.com/hell0w/p/7624851.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值