《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(4)-Charles如何设置捕获会话

1.简介

前边几篇宏哥介绍了Charles界面内容以及作用。今天宏哥就讲解和分享如何设置Charles后,我们就可以愉快地捕获会话,进行抓包了。因为上一篇许多小伙伴看到宏哥的Charles可以分开看到request和response,而自己的却看不到,因此有点蒙,有点疑惑。同样的版本显示的界面却是不一样的,私信问宏哥在哪里下载的,不用疑惑,不用问,宏哥也是在官网下载的。因此在介绍之前,首先解决一下上一篇小伙伴或者童鞋们私下问宏哥的问题:如何设置显示request和response?

2.如何设置显示request和response

1.启动Charles后,点击Edit — Preferences ,如下图所示:

2.弹出设置界面,点击Viewers,取消Combine request and response前面的勾选,如下图所示:

 3.点击OK保存,如下图所示:

4.点击确定,查看请求的requestresponse ,如下图所示:

若想查看request的请求头请求数据,也可将第2步中的Combine header and body viewers前面的勾选取消,如下图所示:

 查看request的请求头和请求数据,如下图所示:

3.捕获会话的设备

常见的捕获会话的设备分为PC(电脑)端——web抓包和手机(Android和IOS苹果)端——APP抓包。

4.PC(电脑)端

电脑端我们一般抓取的都是web网站请求和响应信息。那么我们看一下如何设置进行抓包。

4.1web 抓包

Charles Web抓包非常简单,启动Charles会自动与浏览器设置成代理,不需要进行过多的设置,接下来我就就是通过浏览器发送网络请求,Charles就会直接抓取到这些信息和响应信息,如下图所示:

细心地小伙伴或者童鞋们从上图可以看到宏哥的图中抓取的是http协议的web网址,因为宏哥的Charles还没有设置如果抓取http协议的web网址,会报一些错误导致演示不成功,因此宏哥使用http协议的网址进行演示。

5.移动(手机)端

5.1App抓包

Charles抓包不仅仅可以抓取来在电脑端的HTTP请求,也能够抓取来自App发出的HTTP请求,但是手机抓包需要在电脑端配置下,并且同时需要手机和电脑在同一网络下。

5.1.1电脑端设置

1.启动安装好的Charles抓包工具。

2.查看电脑IP地址。

方法一: 打开”运行”(快捷键:win+R键;或者在任务栏的”搜索”按钮中查找并点击”运行”),输入“cmd”后进入命令行窗口,在命令行窗口中输入”ipconfig”命令查看IP ,如下图所示:

方法二: 在charles中查看 :Help -> Local IP Address ,如下图所示:

3.点击【Proxy】–>【Proxy Settings】我们在设置下端口号“9999”(Charles和Fiddler一样默认的端口也是8888)。宏哥这里是为了避免Charles和Fiddler想要同时启用都用8888这个端口引起端口冲突的问题,所以提前设置成9999。如下图所示:

4.点击Proxy-->Proxy Settings,勾选“Enabling transparent HTTP proxying”,点击“OK”,其实这一步设置不设置都可以,宏哥试了一下,对抓取http包不影响,当然了就更不会影响http包的抓取了。如下图所示:

5.1.2移动端设置

(1)Android手机

手机上进行设置:同一个wifi下设置代理,安卓应该是长按连接的WIFI,点击“修改网络”。填写服务器地址:计算机的IP(192.168.0.163),端口8888;如下图所示:

(2)iOS手机

1.打开手机的设置页面;选择【无线局域网】,如下图所示:

2.IOS点击连接的WIFI后面的感叹号,如下图所示: 3. 点击【配置代理】–>【手动】,如下图所示: 4. 输入本机【IP地址(192.168.1.75)】以及端口号【9999】,这是我本机的,根据自己情况合理配置,如下图所示: 5.配置好后,点击【存储】即可!!!

6.接下里验证下手机请求,当我们看到Charles里能抓到这个连接,就说明配置没问题,看到unknown,这个不要紧,那是我们没有安装针对手机端的证书,手机端HTTPS证书安装宏哥后边会有详细介绍,这里简单说明一下原因一笔带过,其实和Fiddler差不多,一样的思路,但是此时应该是可以抓取Http协议的包的。

6.小结

 好了,今天就简单的说明一些配置和技巧,后边关于手机端,宏哥会单独列出章节进行详细讲解。小伙伴或者童鞋们在这里先入入门有个印象就好。



    感谢您花时间阅读此篇文章,如果您觉得这篇文章你学到了东西也是为了犒劳下博主的码字不易不妨打赏一下吧,让博主能喝上一杯咖啡,在此谢过了!
    如果您觉得阅读本文对您有帮助,请点一下左下角“推荐”按钮,您的将是我最大的写作动力!另外您也可以选择【关注我】,可以很方便找到我!
    本文版权归作者和博客园共有,来源网址:http://www.cnblogs.com/du-hong 欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利! 个人微信公众号 个人微信
本文转载于网络 如有侵权请联系删除

相关文章

  • 你的远程员工真是他自己吗?FBI披露求职者滥用Deepfake

    机器之心报道编辑:杜伟在Deepfake的世界,真真假假,有时的确难以区分。AI算法「Deepfake」可以生成各种有关人物的逼真图像和视频,在换脸领域已经有了广泛的应用。不过,AI换脸技术引发的争议不断,比如利用Deepfake制作成人视频等,给人们造成了极大困扰。近日,根据外媒pcmag报道,FBI表示有诈骗者一直使用Deepfake技术在远程工作的面试中冒充求职者,试图谋得IT公司的工作机会,以访问它们的客户或财务数据、企业IT数据库和/或专有信息。有些公司透露,有些申请者的个人身份信息甚至属于另外一个人。换脸前后的人物面部。图源:Facebook/Meta事情是这样的。在当地时间6月28日,FBI网络犯罪投诉中心(IC3)在一次公共咨询中表示,最近有关被冒充求职的投诉案件数量增加。诈骗者一直利用Deepfake技术以及从受害者那里盗取的个人身份信息,骗过雇主雇佣他们进行远程或居家办公工作。这些工作涉及到IT和计算机编程、数据库以及软件相关的职位。图源:https://www.ic3.gov/Media/Y2022/PSA220628 以往,Deepfake使用AI赋能的程序来创

  • [答疑]MSG基金申请发放的业务建模

    问题时间:2014/12/1张千(780***094)10:37:32 张千(780***094)10:37:43 张千(780***094)10:37:55 张千(780***094)10:38:17 张千(780***094)10:38:21 大家给下意见 fyoracle(460***03)10:55:48 1、证件是单独查验的?不需要结合申请材料? 2、是由借贷人来请求查验?妥? 张千(780***094)11:02:09 个人认为不需要,律师只负责查验证件 张千(780***094)11:03:19 亲我的借贷人没有请求查验啊 fyoracle(460***03)11:12:06 评估人员、律师、银行,这些是运营部业务的协助者,个人觉得不该跟借贷人直接打交道 fyoracle(460***03)11:15:51 我也刚学不久,也许说的不对。 fyoracle(460***03)11:18:16 另,提交证件,不就是请求查验么?后面直接跟的也是查验证件 潘加宇(3504847)21:52:39 把时间去掉,"收取贷款"这个服务基金运营部是为哪个组织提

  • 经济不好,有人建议对程序员征收重税,100万收80万的税,分配给穷人!

    新粉请关注我的公众号最近的股市搞的大家都很糟心,经济不好,钱没得赚。各大公司纷纷裁员辞职等等。总之日子不好过了。日子不好过了怎么办呢?总有人想到一些解决问题的办法,比如说,网上有人是这样建议的。这个说法得到了很多人的支持。为什么会有人支持这种想法呢?毕竟在大家眼睛里,程序员是有钱的代名词啊。高薪,有钱。在大多数人都没钱的情况下,就是种原罪。可能很多人不知道的是,其实程序员这个群体,也不是每个人都有100万的。当然没关系,就算没有100万,总有50万吧,再不济30万吧。30万如果是的话,那就有意思了。很多人一个月才1000呢?你那么多钱,不给你收税,分配给别人,别人怎么活?这种想法,在网上有市场,也是很让人吃惊。我都不知道要说什么了? 程序员是个好工作吗?以前的时候我觉得是,现在我不觉得了。为什么呢?企业对程序员的要求,似乎就变成了年轻耐用。不管几点钟都可以叫醒干活,不管会不会猝死,都不重要。 等到年纪大了,小部分人升上去了,大部分人就给“毕业”掉,反正,互联网行业,从来都不缺人啊。有人30岁这辈子才开始,程序员们30岁,这辈子差不多结束了。你说这个行业好不好呢? 这个行业真的好的话,为

  • 解决微信0day上线CobaltStike的几个问题

    声明:本文介绍的技术仅供网络安全技术人员及白帽子使用,任何个人或组织不可传播使用相关技术及工具从事违法犯罪行为,一经发现直接上报国家安全机关处理,著作权归【爱国小白帽】所有我在复现这个漏洞时遇到了很多问题,相信大部分人也遇到了,所以在这里总结一下。如有遗漏,欢迎补充1、生成的shellcode总是不管用?是不是按照很多文章的做法生成的shellcode无法上线?我也遇到了,这玩意分公网和局域网公网服务器须选择HTTPS监听 不要勾选下面的64位打开生成好的文件将红线处复制出来用Notepad++批量将\替换成,0,注意最后面的";也要去掉全选复制进[]里面,保存成html文件放进服务器的网站目录下即可 如果是局域网,经测试监听HTTP即可,64位也能成功上线2、新安装的旧版微信点击链接也不在使用内置浏览器了先演示一下一直没更新的微信复现 看明白了吧,这是他的微信版本。微信更新后好友之间发的链接便不再使用内置浏览器打开了,而是跳到电脑的默认浏览器,重新安装的旧版也一样 但,这就绝对安全了么?当然不,经过我的测试,以域名mp.weixin.qq.com开头的链接依然使用内置浏览

  • News | 经有限数据研究显示瑞德西韦有望治疗冠状病毒患者

    Topline吉利德科学公司周五宣布,在一项针对COVID-19重症患者的药物---瑞德西韦(Remdesivir)的小型研究中,大多数人在用该药物治疗后症状改善。这项研究作为“同情使用”项目发表在《新英格兰医学杂志》上,包括53名重症患者接受了瑞德西韦的治疗。接受药物治疗后,半数以上使用呼吸机的病人停用了呼吸机,其中47%的患者已出院。这项研究有几个大的局限性:它涉及的多个国家的极少数患者,而且没有对照组。因此,如果不给患者服用该药,就不可能知道会有多少改善。这项研究还得到了生产瑞德西韦的吉利德科学公司的资助。。“我们无法从这些数据中得出明确的结论,”洛杉矶席德西奈医疗中心医院流行病学主任,研究的主要作者JonathanD.Grein说。“但从这组接受瑞德西韦的住院患者的治疗结果来看是有希望的。”该公司表示,吉利德正在对瑞德西韦进行其他多项试验,并将于5月发布更多数据。截至美国东部时间下午6点,吉利德的股价在收盘后保持不变。瑞德西韦是最初用于埃博拉的药物,但尚未获得FDA批准,是包括羟氯喹在内的几种正在临床试验用来治疗COVID-19的药物之一。FDA表示,到目前为止,还没有批准专门

  • 一文搞懂线性表(顺序表、链表)

    前言通过前面数据结构与算法基础知识我么知道了数据结构的一些概念和重要性,那么我们今天总结下线性表相关的内容。当然,我用自己的理解分享给大家。(ps你有混淆是节点还是结点嘛)其实说实话,可能很多人依然分不清线性表,顺序表,和链表之间的区别和联系!线性表:逻辑结构,就是对外暴露数据之间的关系,不关心底层如何实现,数据结构的逻辑结构大分类就是线性结构和非线性结构而顺序表、链表都是一种线性表。顺序表、链表:物理结构,他是实现一个结构实际物理地址上的结构。比如顺序表就是用数组实现。而链表用指针完成主要工作。不同的结构在不同的场景有不同的区别。在Java中,大家都知道List接口类型,这就是逻辑结构,因为他就是封装了一个线性关系的一系列方法和数据。而具体的实现其实就是跟物理结构相关的内容。比如顺序表的内容存储使用数组的,然后一个get,set,add方法都要基于数组来完成,而链表是基于指针的。当我们考虑对象中的数据关系就要考虑指针的属性。指针的指向和value。下面用一个图来浅析线性表的关系。可能有些不太确切,但是其中可以参考,并且后面也会根据这个图举例。 线性表基本架构对于一个线性表来说。不管它

  • 类的封装,类内的方法装饰器,类的方法修改与删除装饰器,经典类和新式类

    1.类的封装封装:隐藏属性或方法,外部无法使用,内部可以使用,在类定义阶段就执行了,真的想引用,就使用_类名__属性名复制#比如 classYwY: __name=1#其等同于做了这一层处理_YwY__name=1 a=YwY() print(a.__name) #会报错,类外面没法直接引用类里面隐藏的变量 #我们如果直接用类来引用这个变量 #所有我们真的要拿里面的变量的话 prnt(a._YwY__name) #隐藏模块内的函数/变量_x:frommoduleimport*(无法导入),frommoduleimport_x(不合理) 如 classYwY: def__func():#其等同于做了这一层处理def_YwY__func() pass #封装后我们要在类内部使用封装后的变量或者变量名,我们可以直接导入他的变量名或者函数名即可 classYwY: __name=1 def__one(self): print('1') def__two(self): print('1') deffunc(self): print(self.__name

  • 干货!21个必知数据科学面试题和答案

    转自:“数盟社区”,本文为数盟原创译文 作者GregoryPiatetsky,KDnuggets. 原文链接:http://dataunion.org/22397.html最近KDnuggets上发的“20个问题来分辨真假数据科学家”这篇文章非常热门,获得了一月的阅读量排行首位。 但是这些问题并没有提供答案,所以KDnuggets的小编们聚在一起写出了这些问题的答案。我还加了一个特别提问——第21问,是20个问题里没有的。下面是答案。Q1.解释什么是正则化,以及它为什么有用。回答者:MatthewMayo正则化是添加一个调优参数的过程模型来引导平滑以防止过拟合。(参加KDnuggets文章《过拟合》) 这通常是通过添加一个常数到现有的权向量。这个常数通常要么是L1(Lasso)要么是L2(ridge),但实际上可以是任何标准。该模型的测算结果的下一步应该是将正则化训练集计算的损失函数的均值最小化。 XavierAmatriain在这里向那些感兴趣的人清楚的展示了L1和L2正则化之间的比较。 图1.Lp球:p的值减少,相应的L-p空间的大小也会减少。Q2.你最崇拜哪些数据

  • 基于计算机视觉的无人驾驶感知系统

    作者简介: 吴双,原百度研究院硅谷人工智能实验室高级研究员,百度美国研发中心高级架构师。美国南加州大学物理博士,加州大学洛杉矶分校博士后,研究方向包括计算机和生物视觉,互联网广告算法,互联网文本和视频的推荐系统,语音识别和自然语言处理,曾在NIPS等国际会议中发表文章。 刘少山,PerceptIn联合创始人。加州大学欧文分校计算机博士,研究方向包括智能感知计算、系统软件、体系结构与异构计算。现在PerceptIn主要专注于SLAM技术及其在智能硬件上的实现与优化。曾在百度美国研发中心负责百度无人车系统架构与产品化。剧透:刘少山将在MDCC2016移动开发者大会上分享无人驾驶通用技术干货。 本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅2016年《程序员》本文是无人驾驶技术系列的第三篇,着重介绍基于计算机视觉的无人驾驶感知系统。在现有的无人驾驶系统中,LiDAR是当仁不让的感知主角。但是由于LiDAR的成本高等因素,业界有许多是否可以使用成本较低的摄像头去承担更多感知任务的讨论。本文探索了基于计算机视觉的无人驾驶感知方案。首先,验证一个方案是否可行需要一个标准的测试方法,

  • 高仿今日头条

    高仿今日头条---第一篇:(android高仿系列)今日头条--新闻阅读器(一)上次,已经完成了头部新闻分类栏目的拖动效果。这篇文章是继续去完善APP今日头条 这个新闻阅读器的其他功能。这次所实现的功能清单:1.通过SlidingMenu实现左右侧拉菜单效果2.通过重写CompoundButton实现--昼夜模式切换按钮效果。3.通过PopupWindow控件实现了列表中更多菜单弹框操作效果。4.通过universal-image-loader库实现了图片的加载和缓存。5.通过列表中各个属性的判断,实现了头条新闻列表的相应布局和显示效果。下面把每个功能和对应的实现方式相关博文都列出了,方便大家根据自身需求查看。下面就是官方的效果截图,详细操作请继续向下看。一.通过SlidingMenu实现左右侧拉菜单效果在第一讲中,我们已经知道了,它使用了SlidingMenu这个侧拉菜单开源库,所以我特地将 SlidingMenu的使用和配置写了一个文章,文章地址:AndroidSlidingMenu开源项目侧拉菜单的使用(详细配置)所以具体的配置就不在这里说明了,大家可以去看上面给的链接。注意:由

  • Golang学习笔记 结构体和指针

    Golang是一门很特殊的语言,虽然它出生比较晚,但是在很多地方却和现在的编程语言有所不同。现在的编程语言要么是函数式的、要么是面向对象的,而Go语言却有指针、结构体这些概念,并解决了C语言的一些坑。从这个角度上说,Golang可以看做C语言的填坑加强版。结构体定义结构体定义结构体和C语言一样,使用struct关键字。在结构体内部定义它们的成员变量和类型。如果成员变量的类型相同还可以把它们写到同一行。typePersonstruct{ ageint namestring }复制初始化初始化结构体需要使用一个特殊一点的语法,这就是结构体字面量。在结构体字面量中,可以按照顺序初始化结构体、也也可以按照关键字初始化结构体。如果按照关键字初始化结构体,可以只指定部分值,未指定的值将会使用默认值来初始化。p1:=Person{24,"易天"} p2:=Person{age:24,name:"易天"} p3:=Person{age:24} p4:=Person{name:"张三"} fmt.Println(p1,p2,p3,p4)复制访问

  • Docker系列——Grafana+Prometheus+Node-exporter服务器告警中心(二)

    在前一篇博文中介绍,服务器监控已经部署成功。如果每天都需要人去盯着服务情况,那也不太现实。既然监控平台已经部署好了,是不是可以自动触发报警呢? 在上一篇Prometheus架构中有讲到,核心组件之一:AlertManager,AlertManager即Prometheus体系中的告警处理中心。所以实现告警功能,可以使用该组件,具体如何实现,我们来看。 AlertManager配置 服务部署 拉取镜像 使用命令dockerpullprom/alertmanager:latest 服务启动 使用如下命令: dockerrun-d--namealertmanager-p9093:9093\ prom/alertmanager:latest 复制 启动服务后,通过地址访问,http://:9093可以看到默认提供的UI页面,不过现在是没有任何告警信息的,因为我们还没有配置报警规则来触发报警。 配置文件 AlertManager默认配置文件为alertmanager.yml,在容器内路径为/etc/alertmanager/alertmanager.yml,默认配置如下: global: re

  • Linux云计算运维-Redis

    Redis简介 Redis是一款开源的,ANSIC语言编写的,高级键值(key-value)缓存和支持永久存储NoSQL数据库产品。 Redis采用内存(In-Memory)数据集(DataSet)。 支持多种数据类型。 运行于大多数POSIX系统,如Linux、*BSD、OSX等。 作者:SalvatoreSanfilippoRedis.io官网Download/redis.io下载Redisdoc.com文档redis.cn中文网复制 核心特性 高速读写 数据类型丰富:常见5种 支持持久化 多种内存分配及回收策略 支持事务-弱事务 消息队列、消息订阅 支持高可用 支持分布式分片集群 和Memcache的区别:支持事务、数据类型丰富、支持高可用、支持分布式分片集群 优点 优势: 透明性:分布式系统对用户来说是透明的,一个分布式系统在用户面前的表现就像一个传统的单处理机分时系统,可让用户不必了解内部结构就可以使用。 扩展性:分布式系统的最大特点就是可扩展性,他可以根据需求的增加而扩展,可以通过横向扩展使集群的整体性能得到线性提升,也可以通过纵向扩展单台服务器的性能使服务器集群

  • 排队论笔记

    1.1 排队过程的一般表示 下图是排队论的一般模型: 图中虚线所包含的部分为排队系统。各个顾客从顾客源出发,随机地来到服务机构,按一定的排队规则等待服务,直到按一定的服务规则接受完服务后离开排队系统。  凡要求服务的对象统称为顾客,为顾客服务的人或物称为服务员,由顾客和服务员组成服务系统。对于一个服务系统来说,如果服务机构过小,以致不能满足要求服务的众多顾客的需要,那么就会产生拥挤现象而使服务质量降低。因此,顾客总希望服务机构越大越好,但是,如果服务机构过大,人力和物力方面的开支也就相应增加,从而会造成浪费,因此研究排队模型的目的就是要在顾客需要和服务机构的规模之间进行权衡决策,使其达到合理的平衡。   1.2 排队系统的组成和特征 一般的排队过程都由输入过程、排队规则、服务过程三部分组成   1.2.1 输入过程 输入过程是指顾客到来时间的规律性,可能有下列不同情况: (i)顾客的组成可能是有限的,也可能是无限的。 (ii)顾客到达的方式可能是一个—个的,也可能是成批的。(iii)顾客

  • 2018-2019-2 20165210《网络对抗技术》Exp8 Web基础

    2018-2019-220165210《网络对抗技术》Exp8Web基础 实验内容: Web前端HTML 能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。 Web前端javascipt 理解JavaScript的基本功能,理解DOM。编写JavaScript验证用户名、密码的规则。 Web后端:MySQL基础:正常安装、启动MySQL,建库、创建用户、修改密码、建表 Web后端:编写PHP网页,连接数据库,进行用户认证 最简单的SQL注入,XSS攻击测试 功能描述:用户能登陆,登陆用户名密码保存在数据库中,登陆成功显示欢迎页面。 实验步骤: Web前端HTML kali默认已安装Apache,直接使用serviceapache2start命令可打开Apache服务。 在浏览器输入127.0.0.1,如果可以打开Apache的默认网页,则开启成功 终端输入cd/var/www/html进入Apache目录下,新建一个含有表单的html文件20165210.html <html> <head&

  • 【Mybatis架构】 延迟加载

     在上一篇博客中,我们提到过有关于Mybatis输出映射中resultMap能够实现延迟加载的事,然而真的是所有的resultMap都能实现延迟加载还是咋地啊?现在我们就来对那一句话做一下阐述和实例说明。   一、首先我们要知道什么是延迟加载?     延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作;可以简单理解为,只有在使用的时候,才会发出sql语句进行查询;延迟加载的有效期是在session打开的情况下,当session关闭后,会报异常。当调用load方法加载对象时,返回代理对象,等到真正用到对象的内容时才发出sql语句。   总结:需要查询关联信息时,使用mybatis延迟加载特性可有效的减少数据库压力,首次查询只查询主要信息,       关联信息等用户获取时再加载。我们已知的除了hibernate,还有我们的Mybatis。   二、实战演练场: (1)需求:

  • 工作感受月记202203月

    2022年03月01号 三月开头星期二,工作正常不忙碌。 闲暇思考手中事,powerapp要修改。 发版之前狂测试,icylin总来点赞。 学习几个新知识,明日研究过滤点。 今日案例无新事,常规跟进关一个。 手中剩余九案例,目前重心为checkpoint。 我也需要学东西,readiness计划要安排。 每周博文写三篇,剩余时间学技术, 视频c#加dotnet,实验代码要写啊。 自己本质是什么,代码程序工程师。 归家五月送礼物,老师寄语好希望。 PS:谢谢芳草小学南区一年级九班班主任范老师! 今日关键字:做,手中需要做事,做一件控制自己用手机看小说的事吧! 难道要物理条件下才能控制吗?正如自己不打游戏一样,是因为颈椎病才停止打游戏的。   2022年03月02日 今日起来有种固定模式的感悟,好似人生被安排,起床,写,上班,下班吃饭,写,跑,看,读,记,然后睡觉。 每日心惊开局,颈椎僵硬,心绪不宁,肠道不通,大便不出,早上走路,中午午睡,晚上在家吃饭就是食气,外面吃饭无蔬菜。吃后写文章,最近写的文章都为水文。晚上跑步,记日志,看小说而入睡。此乃一天事。 今日工作事项: 1/一

  • 【快讯】洛谷第二千万个评测已经产生

    (本文于洛谷博客同时发表) 北京时间2019年6月22日18时46分55秒,@yzhang 同志提交的P5339[TJOI2019] 唱、跳、rap和篮球 的代码成为洛谷第20,000,000个评测。

  • 洛谷P1129 [ZJOI2007]矩阵游戏(二分图匹配)

    ###题目链接### 题目大意: 给定一个具有\(0\)或\(1\)的\(N×N\)的矩阵,可以随意地交换任意两行,或者交换任意两列。问能否使得矩阵的主对角线上全是\(1\)。 分析: 1、对于一个存在于\((i,j)\)的\(1\),无论怎样交换这个\(1\)的行,或者交换列,最后的结果一定是,原本存在于该行的元素一定还在该行(只是顺序不同),原本存在于该列上的元素一定还在该列(只是顺序不同)。 2、回到题目,要求主对角线上都是\(1\),那么比如已经在\((1,1)\)放上一个\(1\)了,那么第一行与第一列上的\(1\)就不可能再通过任何行列变换到其它对角线上。总而言之,对于一个\(1\),如果它放在一个对角线上做贡献,那么它所在行与所在列上的\(1\)都不可能再做贡献。 3、进而本题就很容易的转化成,求该图上所有的\(1\),行不同且列不同的最多能有多少个,能达到\(n\)个即可\(Yes\)。 代码如下: #include<set> #include<map> #include<queue> #include<stack> #

  • SpringBoot日志配置

    pom.xml <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>复制   logback.xml(直接放在src/main/resources下) <?xmlversion="1.0"encoding="UTF-8"?> <configuration> <!--=======================================本地变量========================================--> <!--在没有定义${LOG_HOME}系统变量的时候,可以设置此本地变量。提交测试、上线时,要将其注释掉,使用系统变量。--> <!--<propertyname="LOG_HOME"value=

  • 正则表达式学习(一)-- 字符匹配

    文章首发于[sau交流学习社区](https://www.mwcxs.top/page/585.html) 一、前言 正则表达式是匹配模式,要么匹配字符,要么匹配位置。 正则里面的元字符太多了,没有系统性,可以分为: (1)字符匹配攻略 (2)位置匹配攻略   二、字符匹配 包括:两种模糊匹配,字符数组,量词,分支结构。 1.1两种模糊匹配 正则精确匹配乜有意义的,比如正则/saucxs/,只能匹配字符串中的"saucxs"这个子串。 varregex=/saucxs/; console.log(regex.test('saucxs'));//true console.log(regex.test('123saucxs4560'));//true复制 正则很强大的地方就是,实现模糊匹配。 模糊匹配分为:(1)横向模糊匹配;(2)纵向模糊匹配。 1.1.1横向模糊匹配 横向模糊匹配指的是:一个正则可匹配的字符串的长度不是固定的,可以是很多种情况。 实现方式:使用量词。比如:{m,n}表示的连续出现最少m次,最多n次。 比如正则:/ab{2,5}c/表示匹配这样一个字符串:第

相关推荐

推荐阅读