【新手教程】电脑端Delphi内嵌Chromium谷歌内核webview (CEF4Delphi)

前言/须知

1、使用开源项目实现,仓库地址:https://github.com/salvadordf/CEF4Delphi/

2、最低windows10系统版本,如果是更低版本的系统即使插件安装成功后面也运行不了,本文基于delphi2010

3、插件的安装方法在git仓库下面的README里面都能找到指南连接,如果网上找的教程不够清晰建议去看下官方的文档(可以浏览器翻译下英文对着看),参考的插件安装地址:https://www.briskbard.com/index.php?lang=en&pageid=cef

一、下载插件并安装配置

下载CE[……]

delphi2010+Indy10.5.5调用https接口

在测试delphi调用https接口时一直报错socket 0,本来打算看看怎么升级Indy结果后面突然又搞好了,简单记录下。

一、先确保有Indy控件,版本建议不要太低

这2个控件可以拖到可视化设计面板上后,查看有哪些配置项(我对delphi不熟,不会直接拖控件调用),这些配置项在后面写https调用代码的时候可以匹配着修改。

注意IdHTTP1的 IOHandler属性默认是空的,需要确保上面的那个xxxOpenSSL1控件有效时才可选择。

二、准备dll文件

libeay32.dll、ssleay32.dll 放到bin目录或已编译[……]

挺有意思的经历,判断一组无序组合是否能首尾相连串起来

标题有点绕,简单来说就是有一些组合,类似【1,2】【2,3】【3,5】这种最终能够连成【1-5】,当然顺序可能是随机打乱的而且前后2个数字可能相等或者或大或小,需要判断能否找到一个有效的队列确保他们能连续衔接起来。这个题目的来源是我们做了个会员积分日志表,每获得或消费一笔积分都会在表里面记录操作前的剩余积分和操作后的剩余积分,因为积分是区分渠道和有效期的,所以也就存在同一个订单产生的积分日志有多条的情况,那么我们需要确保这些操作前后扣减的积分余量是正确的,否则可能存在积分日志的剩余积分数不准确的情况。在测试时当然可以通过人为去查库去判断日志的正确性,那么有没有办法让程序去判断呢?本文就以pyt[……]

wamp使用局域网ip地址访问web

记录一个小插曲,安装wamp环境的时候wampserver3.3.0_x64版本一直提示系统问题,后来发现是虚拟机的win2008版本安装不了3.3.0的,然后就重新装了win2012,安装完后测试web服务的时候发现只能在虚拟机本机访问,在其他电脑使用ip是访问不了的,所以就有了这篇文章。

一、关闭防火墙

正常一般是放行端口就行了,为了省事我直接关闭了防火墙。

二、配置wamp中apache的配置文件

修改wamp64binapacheapache2.4.37confextrahttpd-vhosts.conf配置文件,可以参考下面这种,ServerName、[……]

mitmproxy入门三、直接python脚本运行&常用http处理方式

在mitmproxy入门第一篇中讲到通过类似“mitmdump -q -s main.py”这种命令可以实现脚本工作,其实也可以直接以运行python脚本的方式启动。本文为mintmproxy 版本10、python3.10

一、直接运行python文件启动

主入口参考文件main.py

参考action1.py

参考action2.py

上图蓝色框的是如果要直接在python脚本中运行所需添加的内容格式。

二、常用的操作http请求的示例

直接在上面action1.py里面做下修改,可以方便地进行测试(测试代码[……]

mitmproxy入门二、自定义response响应的生效规则

在mitmproxy代理脚本编写过程中经常遇到一些代码预期之外的结果(明明想要返回我写的内容,结果却直接请求到真实数据并返回了)。我一般都是在入口文件addons里面引入不同的python文件类来以pipline的形式操作请求(比如前面的python脚本文件专门用来处理请求打印,最后一个python脚本专门实现请求的二次加工),之前没有特别关注过每个引入的python文件里面处理request和response的不同情况下的作用结果,今天就抽时间专门测试了几个案例并分享之。

测试文件结构很简单,在每个addons里面用到的类文件里面都处理request、response:

测试[……]