秋名山老司机 (Bugku) re库和request库
尝试写的第一个python脚本……之前一直只会用工具(不,有的工具也还不会用……)可以说是很神奇了
先贴上代码:
import requests
import re
url='http://120.24.86.145:8002/qiumingshan/'
r=requests.session()
requestpage = r.get(url)
ans=re.findall('<div>(.*?)=?;</div>',requestpage.text)#获取表达式
ans="".join(ans)#列表转为字符串
ans=ans[:-2]#去掉最后的=?
post=eval(ans)#计算表达式的值
data={'value':post}#构造post的data部分
flag=r.post(url,data=data)
print(flag.text)
所得知识点:
1、python的requests库 requests库详细用法
安装:(用pip)在cmd里输入 pip install requests即可;
在这道题中我们用了requests中的session()函数、get()函数、post()函数、下面一一说明:
session对象可以使我们跨请求保持某些参数,也可以在同一个session实例发出的所有请求之间保持cookies
——创建一个session对象可以拥有以上的作用(但并没有实例化);
然后get()函数,用来进行模拟发送,获得相应url站点的信息,可分为有参和无参两种情况:
无参:
如以上代码,括号内是一个url,表示获取这个url内的信息。
有参:
payload = {'key1': 'value1', 'key2': 'value2'}r = requests.get("http://pythontab.com/justTest", params=payload)
(似乎经常看到payload这个词……萌新的我表示懵逼、懵逼、一脸懵逼,后来百度了一下,意思就是关键信息,大概是为了代码可读性更高吧……)
post的情况类似;
2、re库
这个似乎不用额外安装了……如果有问题的话启动pip大法hiahiahia
re库的主要用途就是进行字符串匹配(看着就会有很多我记不住的各种函数嘤嘤嘤)wuling这个博客很详细
说到字符串匹配,正则表达式完全是绕不过的啊2333,在re库中,几乎所有的函数参数都有正则表达式,re库中正则表达式有两种表示方式:
①raw string类型
表示为:r'text',例如:r'[1-9]\d{5}',raw string是指不包含转义符的字符串;
如果正则表达式里含有转义字符之类的敏感字符,最好用这种方法。
②string类型
例如:'[1-9]\\d{5}';'\\d{3}-\\d{8}|\\d{4}-\\d{7}'
3、用到的python的其他函数
join()函数,用法:例如ex.join(str)
参数说明
ex:分隔符。可以为空(如本题)
str:要连接的元素序列、字符串、元组、字典
上面的语法即:以ex作为分隔符,将str所有的元素合并成一个新的字符串
返回值:返回一个以分隔符ex连接各个元素后生成的字符串
----------------------------------------------------------------------------------------------------我是分割线哇
对于这道题:
根据题目中的提示,要在2s内算出,emmmmm手算显然不可能,数字太大,计算器说不定也会溢出(2333)
刷新几次出现了
可以用脚本跑一下……
(毕竟人跑不过机器还是可以的嘛
秋名山老司机 (Bugku) re库和request库相关推荐
- BugkuCTF: 秋名山老司机(web)
题目描述: 亲请在2s内计算老司机的车速是多少 1565348110-1585852319+1424136689-501596850-364488737*872756914-663618483-112 ...
- Python爬虫学习第一天--uillib库和request库
1.urllib python 内置的http的请求库 urllib.request #请求模块 www=urllib.request.urlopen(url,data,timeout) www.re ...
- STM32 HAL库和LL库的区别
上次开发一个项目,使用一个小容量的STM32 ARM CORTEX核心的单片机,使用STM32CUBEMX自动生成配置代码,正准备编写程序的时候,发现容量竟然有6K多.这个容量在使用大容量FLASH的 ...
- python 3d库_python老司机带你玩玩炫酷的3D渲染,酷毙了!
自从学会了turtle模块后,画了不少简笔画.像小猪佩奇.哆啦A梦等等,但是这些依然不能让身边人感受到python的强大,依然是每次装逼必被打脸.就像你用turtle画了这个 别人拿出了这个 怎么办? ...
- 跟着老司机玩转Node自定义命令行
看之前熟读已下文章: 跟着老司机玩转Node命令行 Nodejs 制作命令行工具 github.com/jaywcjlove/- node生成自定义命令(yargs/commander) 通过node ...
- python数据结构推荐书-腾讯十年Python开发老司机推荐的入门书籍,你确定不看吗?...
原标题:腾讯十年Python开发老司机推荐的入门书籍,你确定不看吗? 稍微关心编程语言的使用趋势的人都知道,最近几年,国内最火的两种语言非 Python 与 Go 莫属,于是,隔三差五就会有人问:这两 ...
- 老司机谈APK瘦身套路-项目优化篇
老司机谈APK瘦身套路-项目优化篇 在上一篇文章中,老司机带领大家一起学习了图片资源的瘦身套路,收到了很多中学生读者的好评. 想了解的童鞋请点击:blog.csdn.net/mynameishua- ...
- 通信系统设计与python的书_腾讯十年Python开发老司机推荐的入门书籍,你确定不看吗?...
原标题:腾讯十年Python开发老司机推荐的入门书籍,你确定不看吗? 稍微关心编程语言的使用趋势的人都知道,最近几年,国内最火的两种语言非 Python 与 Go 莫属,于是,隔三差五就会有人问:这两 ...
- 老司机的应用级监控——spring?actuator
http://mt.sohu.com/20160824/n465783118.shtml ************************************************ 1什么是sp ...
最新文章
- US News 2021年世界大学排行榜发布,清华大学首登亚洲第一
- MOSS SDK学习笔记系列文章
- C# 代理做为函数参数的时候
- Common FileUpload组件的简单使用
- 第十八章 20结构体与string
- 主流的比较流行的Python量化开源框架
- 如何正确使用Git Flow 流程
- 已经围上为何不算目_在湖人打球顺风顺水,戴维斯为何还要亏本卖掉洛杉矶豪宅?...
- DeepLearning.AI第一部分第三周、 浅层神经网络(Shallow neural networks)
- centos elasticsearch7 安装_SkyWalking学习笔记(CentOS环境)
- matlab计算系统过渡过程时间,MATLAB在电机拖动拖动系统过渡过程分析中的应用
- spp色散关系 matlab,表面等离极化激元(SPP)基本原理教案分析.ppt
- 【HTML期末学生大作业】 制作一个简单HTML保护野生动物老虎网页设计专题(HTML+CSS)
- js实现京东快递单号查询效果
- [Chatter] 架构设计是做甚么
- 八问顺丰,被你们偷的iPad究竟何时能赔?
- Qt 配置使用IPP库
- java--遇到NoSuchMethodError通用解决思路
- 搭建关卡修、向管卡放置物体、改天空颜色
- 一是创新,一是学习。