精易论坛

标题: 易语言CEF3模块[3202]增加局部代理方案\数据修改功能 [打印本页]

作者: rgmmqj    时间: 2019-8-16 14:40
标题: 易语言CEF3模块[3202]增加局部代理方案\数据修改功能
本帖最后由 rgmmqj 于 2019-8-16 14:45 编辑

1、优化“CEF3Events”基类调用问题,可以在“CEF3Events”增加其它函数,或使用类变量。
2、增加回调事件及代理功能
“_浏览器_拦截请求资源”,
"_浏览器_文件对话框事件",
"_浏览器_即将创建页面_",
"_浏览器_数据读取拦截",
"_浏览器_数据读取中事件"

按键模拟在上一个帖子中“https://125.confly.eu.org/forum.php?mod=viewthread&tid=14403574&page=1&ordertype=1#pid16790097”

3、代理功能修改参考网站:https://www.cnblogs.com/163yun/p/9803171.html,
  
子程序名返回值类型公开备 注
_浏览器_即将创建页面_逻辑型 70, 在此处设置代理比较好,默认返回 假
参数名类 型参考可空数组备 注
浏览器CEF3Browser
框架CEF3Frame
访问对象CEF3Request
' 浏览器.设置代理IP (全局_代理IP)
浏览器.取消代理 ()
返回 ()

代理可以使用方式:
.常量 CEF代理_auto_detect, "“auto_detect”", 公开
.常量 CEF代理_direct, "“direct”", 公开
.常量 CEF代理_fixed_servers, "“fixed_servers”", 公开
.常量 CEF代理_pac_script, "“pac_script”", 公开
.常量 CEF代理_system, "“system”", 公开
这种代理也是全局代理,重启程序也同样存在,在缓存目录下的"UserPrefs.json"文本中可以看到配置,
这种方式的原理是在进行每次请求的时候CEF给应用一次机会让应用可以修改请求相关的参数。在"_浏览器_即将创建页面_"事件中实现。

4、这次修改重点是实现局部代理功能
方案1:在“_浏览器_拦截请求资源”使用http模块访问数据返回能浏览器,需要找有代理功能HTTP访问模块。COOKIE需要自己封装,
方案2:使用全局代理,在“_浏览器_拦截请求资源”请求图片、css、js等资源可以使用http模块返回,好处是不用自己封装COOKIE.


5、“_浏览器_数据读取拦截”和“_浏览器_数据读取中事件”需要配合使用,
可以修改请求的资源流,置入JS文件等。
也可以获取相关资源,用来缓存数据使用。
  
子程序名返回值类型公开备 注
_浏览器_数据读取拦截逻辑型 78 返回真:调用“_浏览器_数据读取中事件”事件,可以自定义修改数据,现在虽然用不上,这里简单接入
参数名类 型参考可空数组备 注
浏览器CEF3Browser
框架CEF3Frame
访问对象CEF3Request
请求文件类型文本型
如果真 (“text/html” = 请求文件类型)
' 具体处理在   _浏览器_数据读取中事件 ,
返回 ()
返回 ()



链接:https://pan.baidu.com/s/1UZJfQIB0WivwjBojXFtIfA
提取码:2htc
例程.e (46.8 KB, 下载次数: 439)
CEF3 Template Library V2.0.e (89.04 KB, 下载次数: 416)




补充内容 (2019-8-23 11:58):
如果模块对你有帮助,https://www.taptap.com/app/174341,帮忙关注预约下支持下,谢谢各位,

补充内容 (2019-10-29 10:14):
Q群:819064523,加群请注明遇到的问题。遇到崩溃问题需要例程
作者: NeStedww    时间: 2019-8-16 15:19

作者: 网络注册网员    时间: 2019-8-16 15:59
必须支持   
作者: Chrismk    时间: 2019-8-16 22:36

必须支持+++++
作者: 不苦小和尚    时间: 2019-8-17 06:24
文件是不是不全啊
作者: luipingyang    时间: 2019-8-17 13:33
有没有反CE修改器的
作者: rgmmqj    时间: 2019-8-17 13:53
不苦小和尚 发表于 2019-8-17 06:24
文件是不是不全啊

要下载网盘其它文件
作者: ensurf    时间: 2019-8-18 18:23
代理功能实测成功。楼主辛苦。看看是否可以单页面设置cookies目录,useragent,accept-language
作者: rgmmqj    时间: 2019-8-19 09:25
ensurf 发表于 2019-8-18 18:23
代理功能实测成功。楼主辛苦。看看是否可以单页面设置cookies目录,useragent,accept-language

有这个功能吗?  给点提示。
作者: ensurf    时间: 2019-8-19 12:57
rgmmqj 发表于 2019-8-19 09:25
有这个功能吗?  给点提示。

一般cookies目录,useragent,proxy,accept-language在启动cef的时候定义了的,不能动态改。

单页面cookies目录自定义设置,精易web的node.dll,如果是收费版本,看介绍可以实现。

useragent,proxy精易web可以动态改,包括代理(全局)。

accept-language不知道是否可以改。
作者: rgmmqj    时间: 2019-8-19 13:18
ensurf 发表于 2019-8-19 12:57
一般cookies目录,useragent,proxy,accept-language在启动cef的时候定义了的,不能动态改。

单页面coo ...

CEF 可以在启动后,修改COOKIE目录(CEF3_置COOKIE存储目录),只是不能同时并发,
作者: wjswzj0    时间: 2019-8-20 11:55
必须支持+++++

作者: 接单员    时间: 2019-8-21 12:08
不错 好东西
作者: rgmmqj    时间: 2019-8-22 17:48
增加多开Cookie管理,单条请求指定Cookie,在页面上用Ajax可以通过协议头指定使用哪个Cookie

CEF3_增加Cookie缓存路径 (取运行目录 () + “\1”)    '//此处返回Cookie缓存ID,从1开始,  请求协议头"CookiePathID"指定Cookie的ID , 可实现ajax单独处理Cookie;

创建带路径的Cookie页面;从而实现多开网页功能。如果协议头指定“CookiePathID”,则优先协议头。
  
子程序名返回值类型公开备 注
CEF3_创建浏览器EX逻辑型 创建一个浏览器,成功返回真,失败返回假。
参数名类 型参考可空数组备 注
首页文本型
父窗口句柄整数型
风格整数型
扩展风格整数型
左边整数型
顶边整数型
宽度整数型
高度整数型
Cookie路径文本型




易语言指定使用Cookie文件
  
子程序名返回值类型公开备 注
_浏览器_即将加载资源_逻辑型 48当该事件被调用时,表明浏览器即将加载新的网页资源,在此事件中你可以选择阻止或者允许浏览器加载该资源,返回真将阻止该资源的加载。
参数名类 型参考可空数组备 注
浏览器CEF3Browser
框架CEF3Frame
访问对象CEF3Request
访问对象.置协议项 (“CookiePathID”, “1”)  ' //使用 ID 为 1 的Cookie缓存
返回 ()


下次封装取Cookie功能。

链接:https://pan.baidu.com/s/1qAOPr-pf-LxxhbDoh4ZirA
提取码:jcsj



作者: rgmmqj    时间: 2019-8-22 17:57
ensurf 发表于 2019-8-19 12:57
一般cookies目录,useragent,proxy,accept-language在启动cef的时候定义了的,不能动态改。

单页面coo ...

链接:https://pan.baidu.com/s/1qAOPr-pf-LxxhbDoh4ZirA
提取码:jcsj
动态Cookie目录来了,
作者: lcfdiy    时间: 2019-8-22 20:51
昨天下载的,学习,今天又收
作者: rgmmqj    时间: 2019-8-23 11:56
lcfdiy 发表于 2019-8-22 20:51
昨天下载的,学习,今天又收

https://www.taptap.com/app/174341  帮忙预约关注下,谢谢支持,我还在找libcef.dll编译方法,我想改些底层,
作者: dulang    时间: 2019-8-26 10:58
不错 好东西
作者: ensurf    时间: 2019-8-26 19:36
本帖最后由 ensurf 于 2019-8-26 20:47 编辑
rgmmqj 发表于 2019-8-22 17:48
增加多开Cookie管理,单条请求指定Cookie,在页面上用Ajax可以通过协yi头指定使用哪个Cookie

CEF3_增加C ...

简单测试了一下,新建可以分开设置cookies目录。建议:新建页面时,增加一个自定义缓存目录的参数。现在的缓存目录是自动随机字符创建。另外,缓存目录下还有cookies文件。在实现单页面独立cookies和代理上,如果打开不同网站可以通过url来判断,然后在_浏览器_即将创建页面_设置不同代理,但是一般这种多号操作都是相同的网站,不知怎么区分为好?

_浏览器_即将创建页面_这个事件中,是否可以区分是主动创建的窗口,还是弹出窗口。



作者: rgmmqj    时间: 2019-8-27 17:45
增加个设备访真。

链接:https://pan.baidu.com/s/1PVPNJ8FZnqT-YLO2oU71ow
提取码:msr1


作者: ensurf    时间: 2019-8-27 19:05
rgmmqj 发表于 2019-8-27 17:45
增加个设备访真。

链接:https://pan.baidu.com/s/1PVPNJ8FZnqT-YLO2oU71ow

没看到例程有仿真的内容?怎么用?
作者: sunyu4506    时间: 2019-8-30 14:45
可不可以分享下源码?谢谢!
作者: sunyu4506    时间: 2019-8-30 22:49
能不能分享下源码?谢谢!!
作者: dongqingang    时间: 2019-9-4 03:02
4546454546464
作者: rgmmqj    时间: 2019-9-18 17:41
CEF3202多开、局部代理、取Cookie优化

增加两个参数,区分多开;

取Cookie改为直接返回,可以指定CookieID;

优化局部代理方式,携带Cookie操作与修改
  
子程序名返回值类型公开备 注
_浏览器_拦截请求资源逻辑型 68 返回真,在资源请求前进行拦截,可以加载本地的资源,也可以使用其它HTTP请求,实现部份代理
参数名类 型参考可空数组备 注
浏览器CEF3Browser
框架CEF3Frame
访问对象CEF3Request
返回修改数据字节集设置修改后的数据
返回的协议头文本型完整的协议头
变量名类 型静态数组备 注
提交URl文本型 
提交协议头文本型 
提交Cookie文本型 
提交返回协议头文本型 
提交请求方式文本型 
请求类型整数型 
Referer文本型 
提交URl = 访问对象.取地址 ()
请求类型 = 访问对象.取类型 ()
' 返回 ()
如果真 (请求类型 ≠ #RT_MAIN_FRAME )
返回 ()
如果真 (寻找文本 (提交URl, “chrome-devtools”, , ) > -1)
返回 ()
提交请求方式 = 访问对象.取方法 ()
如果真 (提交请求方式 ≠ “GET”)
返回 ()
提交Cookie = CEF3_取COOKIE (提交URl, 真, CookieID)
Referer = 访问对象.取来路 ()
提交协议头 = 访问对象.取协议头 ()
如果真 (Referer ≠ “”)
提交协议头 = 提交协议头 + #换行符“Referer: ” + Referer + #换行符
返回修改数据 = 网页_访问 (提交URl, 0, , 提交Cookie, , 提交协议头, 提交返回协议头)
' 协议头  必须携带 HTTP/1.1 200 OK
返回的协议头 = 提交返回协议头
' 调试输出 (提交返回协议头)
调试输出 (提交URl, “网页_访问 处理请求”)
返回 ()


i支持库列表   支持库注释   
spec特殊功能支持库


链接:https://pan.baidu.com/s/1JEKZUryB8G4knA473AID6g
提取码:4a1r
复制这段内容后打开百度网盘手机App,操作更方便哦


作者: UID    时间: 2019-9-22 13:51
{:4_255:}{:4_255:}
作者: laily    时间: 2019-9-23 13:36
请问一下,cache目录里的cookies,这个文件没有扩展名,应该怎么去操作,我是想修改cookies里的表,能给个具体的例子不,比如先删除掉cookies里的所有记录,然后一条条添加记录
作者: rgmmqj    时间: 2019-9-24 14:29
laily 发表于 2019-9-23 13:36
请问一下,cache目录里的cookies,这个文件没有扩展名,应该怎么去操作,我是想修改cookies里的表,能给个具 ...

cookies是数据库,sqlite去了解一下。
作者: laily    时间: 2019-9-24 20:18
命令行不太会用
作者: laily    时间: 2019-9-26 01:40
不是太懂,具体怎么设置CEF3的代理IP
比如我的SOCKS5的代理IP是:222.222.222.222:8080用户名“123”密码“456”
应该要怎么写,能给个代码不
作者: laily    时间: 2019-9-26 01:43
再咨询一下,就是里面那个Pepper.exe,经常出现“Pepper.exe已停止工作”“,不知道是pepper.exe版本不对还是?但虽然有这个提示,FLASH游戏却正常运行,怎么样才不会出现那个已停止工作
作者: ensurf    时间: 2019-9-26 11:50
laily 发表于 2019-9-26 01:40
不是太懂,具体怎么设置CEF3的代理IP
比如我的SOCKS5的代理IP是:222.222.222.222:8080用户名“123”密码 ...

s5代理仅支持无用户密码的
作者: rgmmqj    时间: 2019-9-26 13:29
laily 发表于 2019-9-26 01:40
不是太懂,具体怎么设置CEF3的代理IP
比如我的SOCKS5的代理IP是:222.222.222.222:8080用户名“123”密码 ...

代理时这个事件有没有被调用?

  
子程序名返回值类型公开备 注
_浏览器_认证事件_逻辑型 64当该事件被调用时,表示浏览器接收到了一个下载资源的请求。QQ:570333273修改
参数名类 型参考可空数组备 注
框架CEF3Frame
回调事件CEF3AuthCallback
是否代理逻辑型



作者: rgmmqj    时间: 2019-9-26 13:30
laily 发表于 2019-9-26 01:40
不是太懂,具体怎么设置CEF3的代理IP
比如我的SOCKS5的代理IP是:222.222.222.222:8080用户名“123”密码 ...

.版本 2
这个事件有没有调用

.子程序 _浏览器_认证事件_, 逻辑型, 公开, 64当该事件被调用时,表示浏览器接收到了一个下载资源的请求。QQ:570333273修改
.参数 框架, CEF3Frame
.参数 回调事件, CEF3AuthCallback
.参数 是否代理, 逻辑型

作者: ensurf    时间: 2019-9-26 14:43
rgmmqj 发表于 2019-9-26 13:29
代理时这个事件有没有被调用?

[e=2].版本 2

这个事件不会被调用,从cef提交的就是无验证的。服务端收到的不是有密的这种请求。这个事件应该是web代理有些要登录,才会触发。
作者: laily    时间: 2019-9-26 15:18
rgmmqj 发表于 2019-9-26 13:29
代理时这个事件有没有被调用?

[e=2].版本 2

下载了你的源码,调试就直接出错,提示 error
作者: laily    时间: 2019-9-26 15:19
rgmmqj 发表于 2019-9-26 13:29
代理时这个事件有没有被调用?

[e=2].版本 2

就是下载的这个, 例程.e (46.8 KB, 下载次数: 60)
  CEF3 Template Library V2.0.e (89.04 KB, 下载次数: 62)
例程调试就出错了,模块编译了的
作者: lisyoo    时间: 2019-9-26 23:21
试试看 刚好需要
作者: 米米粒    时间: 2019-9-27 14:30
你好, 例子的 代理設置 不成功, 請問是我的問題嗎? 謝謝
作者: ensurf    时间: 2019-9-27 14:59
ngluttim 发表于 2019-9-27 14:30
你好, 例子的 代理設置 不成功, 請問是我的問題嗎? 謝謝

代理功能正常,仔细看看代理功能修改参考网站:https://www.cnblogs.com/163yun/p/9803171.html,

注意代理类型。
作者: 铁血勇士    时间: 2019-9-27 23:19
#在这里快速回复#试试看 刚好需要
作者: 寻找窝窝头    时间: 2019-10-10 09:14
已预约支持支持支持支持支持支持支持支持
作者: rgmmqj    时间: 2019-10-10 09:17
寻找窝窝头 发表于 2019-10-10 09:14
已预约支持支持支持支持支持支持支持支持

谢谢,新版本在这 :https://125.confly.eu.org/forum.php?mod ... e=1&ordertype=1
作者: 四叶草接单    时间: 2019-10-13 00:00
这个好用,下载来用了
作者: 网络注册络员    时间: 2019-10-21 09:42

作者: epwne    时间: 2019-11-6 01:18
学习,学习
作者: epwne    时间: 2019-11-6 01:50
如果模块对你有帮0
作者: 夏晓彤    时间: 2019-11-9 16:03
感谢楼主分享的源码。
作者: lujinge    时间: 2019-11-12 10:08
感谢楼主分享的源码。
作者: bsliu    时间: 2019-11-17 11:06
66666666666666666666
作者: 985157774    时间: 2019-11-19 09:59
6666666666666666666666666666666
作者: oursn    时间: 2019-11-20 21:23
感谢这个代码非常有用
作者: 1689478353    时间: 2019-12-13 22:02
学习下
作者: 1689478353    时间: 2019-12-13 22:03
学习下
作者: 孤独艺术    时间: 2019-12-22 23:20
666666666666666666666666
作者: 夏晓彤    时间: 2019-12-30 19:39
好是好,就是没有VS源
作者: liuhuijie    时间: 2020-1-5 21:17
感谢分享!!!!!!!
作者: 842811800    时间: 2020-2-10 15:04
6666666666666666666666
作者: 0898002    时间: 2020-2-28 09:40
有没有JS同步
作者: rgmmqj    时间: 2020-2-28 12:03
0898002 发表于 2020-2-28 09:40
有没有JS同步

这个版本即将发布,
作者: 0898002    时间: 2020-2-29 16:53
rgmmqj 发表于 2020-2-28 12:03
这个版本即将发布,

希望快点出来 期待。。。楼主辛苦了
作者: rgmmqj    时间: 2020-3-1 20:36
0898002 发表于 2020-2-29 16:53
希望快点出来 期待。。。楼主辛苦了

https://125.confly.eu.org/forum.php?mod ... =14532219&page=
20楼
作者: 0898002    时间: 2020-3-2 06:38
全局浏览器.取框架_索引 (1) 使用程序会出错,不知道是不是方法错了还是?
作者: rgmmqj    时间: 2020-3-2 11:36
0898002 发表于 2020-3-2 06:38
全局浏览器.取框架_索引 (1) 使用程序会出错,不知道是不是方法错了还是?

这个估计是有bug
作者: bo3310aa    时间: 2020-4-23 12:35
666666666666666
作者: dzjyth    时间: 2021-3-13 15:18
再把例程下来学习一下。
作者: dzjyth    时间: 2021-3-13 16:52
666666666666666
作者: weilaideren    时间: 2021-4-27 11:10
多谢了666666666
作者: tt1112    时间: 2021-6-21 22:45
66666666666666666
作者: tt1112    时间: 2021-6-21 22:45
嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿
作者: bsliu    时间: 2022-3-8 23:32
66666666666666
作者: lanhu888    时间: 2022-5-9 22:20
看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看看
作者: 樱桃丸子    时间: 2022-6-19 08:13
支持开源~!感谢分享
作者: 392282229    时间: 2022-9-6 14:12
谢谢分享
作者: 392282229    时间: 2022-9-6 14:13
谢谢分享
作者: 13876716630    时间: 2022-9-20 16:44
支持开源~!感谢分享
作者: 13876716630    时间: 2022-10-10 00:16
        支持开源~!感谢分享
作者: 空中硬币    时间: 2022-10-17 10:07
     支持开源~!感谢分享
作者: 醉清风o    时间: 2023-2-24 16:19
学习学习
作者: 森音文化    时间: 2023-4-16 01:08
https://pan.baidu.com/s/1UZJfQIB0WivwjBojXFtIfA
作者: a45167039    时间: 2024-1-20 13:18
学习学习
作者: a45167039    时间: 2024-1-20 13:19
学习学习
作者: MrSimpl    时间: 2024-12-21 23:16
感谢分享~~~




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4