网站首页 > 易语言相关 > 网络相关源码 正文
.版本 2 .程序集 窗口程序集_启动窗口 .程序集变量 集_登录返回CK, 文本型, , , 保存登录后的CK 供全局操作使用 .程序集变量 集_Token, 文本型, , , 保存登录后的Token 供全局操作使用 .程序集变量 集_协议头, 文本型, , , 保存统一的协议头 方便多次调用 .程序集变量 集_IP是否获取成功, 逻辑型 .程序集变量 集_切换前, 文本型 .程序集变量 集_切换后, 文本型 .程序集变量 集_后台IP地址, 文本型 .子程序 __启动窗口_创建完毕 编辑框_运行记录.内容 = #常量_默认帮助 .如果真 (文件是否存在 (取运行目录 () + “/info.ini”)) 批量_选择框_读取配置 (_启动窗口, 取运行目录 () + “/info.ini”) 批量_编辑框_读取配置 (_启动窗口, 取运行目录 () + “/info.ini”) 编辑框_密码.内容 = 到文本 (编码_RC4解密 (到字节集 (编辑框_密码.内容), “ceshi1”)) .如果真结束 .如果真 (选择框_是否明文.选中 = 真) 编辑框_密码.输入方式 = 0 .如果真结束 .如果真 (删首尾空 (编辑框_后台地址.内容) = “”) 子程序_取默认网关 () .如果真结束 .子程序 _按钮_换IP_被单击, , , 换ip前检测各个关键数据 ' 切换IP前 清空所有数据! 集_IP是否获取成功 = 假 集_登录返回CK = “” 集_Token = “” 集_协议头 = “” ' 判断关键数据是否为空 为空直接返回并告知用户 .如果真 (编辑框_后台地址.内容 = “”) 信息框 (“后台地址不允许为空!”, 0 + 48, “地址为空”, _启动窗口) 返回 () .如果真结束 .如果真 (编辑框_密码.内容 = “”) 信息框 (“管理密码不允许为空!”, 0 + 48, “密码为空”, _启动窗口) 返回 () .如果真结束 .如果真 (编辑框_运行记录.内容 = #常量_默认帮助) 编辑框_运行记录.内容 = “” .如果真结束 ' 把按钮禁止掉 反正用户多次点击 按钮_换IP.禁止 = 真 集_后台IP地址 = 删首尾空 (编辑框_后台地址.内容) 子程序_登录 () ' 换IP操作完或者登录失败 把按钮禁止取消掉 按钮_换IP.禁止 = 假 .子程序 子程序_登录, , , 程序化登录 使得程序简明 也方便调用 .局部变量 局_JS_取Pass, 类_脚本组件 .局部变量 局_rand_key, 文本型, , , 存放产生的随机KEY .局部变量 局_Pass, 文本型, , , 存放生成的加密密码 .局部变量 局_登录提交, 文本型 .局部变量 局_登录返回, 文本型 .局部变量 局_访问状态, 文本型, , , 存放访问 情况的变量 ' 执行获取加密密码的JS脚本 局_JS_取Pass.执行 (#常量_取pass) ' 访问网页获取随机的加密KEY,并取出KEY值 局_rand_key = 网页_访问S (“http://” + 集_后台IP地址 + “/router/get_rand_key.cgi?noneed=noneed&_=” + 时间_取现行时间戳 (), 0, , , , , , , , , , , , 5, , 局_访问状态, ) .如果真 (寻找文本 (局_访问状态, “OK”, 0, 假) = -1) 子程序_运行记录 (局_访问状态) 子程序_运行记录 (“请检查后台地址是否输入错误,或者软件不支持该路由器!”) 子程序_取默认网关 () 子程序_运行记录 (“程序已经自动取出默认网关,如还有错误请手动查看!!”) 返回 () .如果真结束 局_rand_key = 文本_取出中间文本 (局_rand_key, “rand_key” + #引号 + “:” + #引号, #引号, 0, 假) ' 通过JS脚本取出加密后的密码 局_Pass = 局_JS_取Pass.运行 (“getAesString”, 编辑框_密码.内容, 局_rand_key, , , , ) ' 把登陆要提交的文本 存到变量里方便操作 局_登录提交 = “user=admin&pass=” + 局_Pass + “&from=1” ' POST登录,附加协议头要带上Referer:(多次测试需要带上),并把返回的CK保存 局_登录返回 = 网页_访问S (“http://” + 集_后台IP地址 + “/router/web_login.cgi”, 1, 局_登录提交, , 集_登录返回CK, “Referer: http://” + 集_后台IP地址 + “/login_pc.htm”, , , , , , , , , , , ) .如果 (寻找文本 (局_登录返回, “success”, 0, 假) ≠ -1) ' 取出关键数据Token 并写入协议头数据 方便后面程序使用 集_Token = 文本_取出中间文本 (局_登录返回, “token_id” + #引号 + “:” + #引号, #引号, 0, 假) 集_协议头 = “token_id: ” + 集_Token + #换行符 + “Referer: http://” + 集_后台IP地址 + “/new_index.htm?token_id=” + 集_Token ' 输出显示 登录状态和当前IP 并把当前IP存入变量 方便后面比较! 子程序_运行记录 (“登录成功!”) 集_切换前 = 子程序_取当前IP () 子程序_运行记录 (“当前IP:” + 集_切换前) ' 登录成功后开始 换IP 子程序_换IP () .否则 子程序_运行记录 (“登录失败,请检查密码是否正确!”) ' 密码错误 把密码明文显示 方便用户检查! 选择框_是否明文.选中 = 真 _选择框_是否明文_被单击 () .如果结束 .子程序 子程序_取当前IP, 文本型, , 把取当前IP程序化 方便多次调用 .局部变量 局_当前IP返回, 文本型 .局部变量 局_当前IP, 文本型 ' 获取当前IP的返回文本 局_当前IP返回 = 网页_访问S (“http://” + 集_后台IP地址 + “/router/interface_status_show.cgi”, 1, “noneed=noneed”, 集_登录返回CK, , 集_协议头, , , , , , , , , , , ) ' 取出当前的IP 局_当前IP = 文本_取右边 (局_当前IP返回, “WAN1”, , 假) 局_当前IP = 文本_取出中间文本 (局_当前IP, “ip” + #引号 + “:” + #引号, #引号, 0, 假) 返回 (局_当前IP) .子程序 子程序_换IP, , , 程序化换IP 操作方便 单独修改 不影响其他程序 .局部变量 局_换IP返回, 文本型 .局部变量 局_换IP返回1, 文本型 .局部变量 局_断网状态, 文本型 ' 开始POST切换IP 子程序_运行记录 (“IP切换中……”) 局_换IP返回 = 网页_访问S (“http://” + 集_后台IP地址 + “/router/wan_status_set.cgi”, 1, “wanid=WAN1&statu=0”, 集_登录返回CK, , 集_协议头, , 真, , , , , , , , 局_断网状态, ) .如果真 (寻找文本 (局_断网状态, “302”, 0, 假) ≠ -1) ' 判断CK是否失效 失效重新登录! 子程序_登录 () 返回 () .如果真结束 .如果真 (寻找文本 (局_换IP返回, “SUCCESS”, 0, 假) ≠ -1) ' 加个判断 防止第一步因为未知原因 没成功 局_换IP返回1 = 网页_访问S (“http://” + 集_后台IP地址 + “/router/wan_status_set.cgi”, 1, “wanid=WAN1&statu=1”, 集_登录返回CK, , 集_协议头, , , , , , , , , , , ) .如果真结束 .如果真 (寻找文本 (局_换IP返回1, “SUCCESS”, 0, 假) ≠ -1) ' 加个判断 防止第一步因为未知原因 没成功 .判断循环首 (集_IP是否获取成功 = 假) 子程序_切换等待 () ' 判断换IP有没有成功 没有就一直获取当前IP .如果真 (子程序_取当前IP () ≠ “0.0.0.0”) 集_IP是否获取成功 = 真 _启动窗口.标题 = “360路由换IP By.934708220” ' 比较切换前后IP 是否有变化! 集_切换后 = 子程序_取当前IP () .如果 (集_切换后 ≠ 集_切换前) 子程序_运行记录 (“换IP成功!当前IP:” + 集_切换后) .否则 子程序_运行记录 (“换IP失败!IP无变化,重试中……”) ' 置集_IP是否获取成功为假 让重新换IP的时候 可以判断是否更换成功 集_IP是否获取成功 = 假 子程序_换IP () .如果结束 .如果真 (选择框_循环切换.选中 = 真) ' 置集_IP是否获取成功为假 让重新换IP的时候 可以判断是否更换成功 集_IP是否获取成功 = 假 ' 循环间隔 延时 (到整数 (编辑框_秒.内容) × 1000) 子程序_换IP () .如果真结束 .如果真结束 .判断循环尾 () 返回 () .如果真结束 ' 不管哪步失败都告知用户 失败后显示IP 让用户直观的看到 IP有没有变化 也方便BUG提交 子程序_运行记录 (“未知原因失败!当前IP:” + 子程序_取当前IP ()) .子程序 子程序_运行记录, , , 把运行记录格式化 统一整齐 .参数 文本, 文本型 .局部变量 局_时间, 文本型 ' 取出时分秒 方便后面使用 局_时间 = 子文本替换 (到文本 (取时间 (取现行时间 ())), “2000年1月1日”, “”, 0, , 真) ' 把运行记录格式化 统一整齐 使得输出好看! 编辑框_运行记录.加入文本 (局_时间 + “:” + 文本 + #换行符) .子程序 子程序_切换等待, , , 做一个Loading 防止用户以为软件卡死! _启动窗口.标题 = “切换中” .计次循环首 (3, ) 延时 (100) _启动窗口.标题 = _启动窗口.标题 + “·” .计次循环尾 () .子程序 子程序_取默认网关, , , 取出默认网关 .局部变量 局_文件号, 整数型 .局部变量 局_默认网关, 文本型 ' 运行CMD 来执行ipconfig 获取网卡信息 并保存到临时文件temp.txt下,(cmd /c 执行完退出命令行 cmd /k 执行但不退出命令行) 运行 (“cmd /c ipconfig>>c:\temp.txt”, 真, 1) ' 判断临时文件是否存在 不存在返回 并再次执行自身程序来获取网关! .如果真 (文件是否存在 (“c:\temp.txt”) = 假) 子程序_取默认网关 () 返回 () .如果真结束 ' 打开临时文件来取出默认网关! 局_文件号 = 打开文件 (“c:\temp.txt”, 1, ) 局_默认网关 = 文本_取出中间文本 (读入文本 (局_文件号, ), “默认网关. . . . . . . . . . . . . : ”, #换行符, 0, 假) ' 关闭临时文件 并删除! 关闭文件 (局_文件号) 删除文件 (“c:\temp.txt”) 编辑框_后台地址.内容 = 删首尾空 (局_默认网关) .子程序 _选择框_是否明文_被单击, , , 判断是否明文显示密码 方便用户检查密码对错 .如果 (选择框_是否明文.选中 = 真) 编辑框_密码.输入方式 = 0 .否则 编辑框_密码.输入方式 = 2 .如果结束 .子程序 _超级按钮_清空记录_被单击, , , 清空运行记录 减少占用 编辑框_运行记录.内容 = “” .子程序 _超级按钮_保存配置_被单击, , , 保存配置项 减少配置的输入 .局部变量 密码加密, 文本型 批量_编辑框_保存配置 (_启动窗口, 取运行目录 () + “/info.ini”, “编辑框_运行记录|编辑框_密码”) 密码加密 = 到文本 (编码_RC4加密 (到字节集 (编辑框_密码.内容), “ceshi1”)) 写配置项 (取运行目录 () + “/info.ini”, “编辑框”, “编辑框_密码”, 密码加密) 批量_选择框_保存配置 (_启动窗口, 取运行目录 () + “/info.ini”, ) .子程序 _超级按钮_支持作者_被单击 .子程序 __启动窗口_位置被改变, , , 配合软件 置顶隐藏使用 _启动窗口.总在最前 = 真 .子程序 _编辑框_秒_内容被改变, , , 控制自动换IP时间间隔 间隔过短会被路由拉黑 .如果真 (到整数 (删首尾空 (编辑框_秒.内容)) ≤ 3) 编辑框_秒.内容 = “3” .如果真结束 .子程序 _选择框_循环切换_被单击, , , 判断取消勾选 可以停止循环换IP .如果真 (选择框_循环切换.选中 = 假) 集_IP是否获取成功 = 假 .如果真结束
@TotoroKing
- 上一篇: 软件IP绑定易语言例子
- 下一篇: 易语言多线程获取指定代理IP的源码
猜你喜欢
- 2025-01-03 夸克网盘扫码登录+账号信息查询源码
- 2024-09-13 精易web浏览器采集例子 dd373游戏网
- 2024-09-12 Brotli (br)压缩/解压动态库调用方法,支持进度压缩/解压
- 2024-09-11 QQ空间二维码登录源码
- 2024-04-07 最新NT框架可用QQ群验证
- 2024-03-21 蓝奏云直链解析纯协议源码
- 2024-03-20 基于E2EE的无状态认证JsonWebToken算法、常用Web算法模块
- 2024-03-18 YoLo8本地cpu识别源码
- 2024-03-16 搜索引擎 下拉关键词例子 支持百d\搜狗\必应\搜狗手机版
- 2024-03-15 ZIP解压缩模块源码
你 发表评论:
欢迎- 百度站内搜索
- 关注微信公众号
- 网站分类
-
- 网站公告
- 电子书书籍
- 程序员工具箱
- 编程工具
- 易语言相关
- 网络相关源码
- 图形图像源码
- 系统工具源码
- 易语言模块源码
- 易语言支持库
- 数据库类源码
- 易语言例程
- 易语言游戏开发
- 易语言模块
- 多媒体类源码
- 易语言资源网
- 易语言视频教程
- JS分析教程
- 易语言图文教程
- 易语言常见问题及笔记
- 工具源码
- 易语言版本
- 网络编程
- javascript
- PHP编程
- html
- 正则表达式
- 面试题
- nodejs
- 其它综合
- 脚本专栏
- python
- 按键精灵相关
- 按键精灵图文教程
- 按键精灵视频教程
- 按键精灵Q语言
- 按键精灵安卓版
- golang
- 游戏安全
- 火山相关
- 火山安卓软件
- 火山常见问题及笔记
- 火山安卓源码
- 火山视频教程
- 火山PC版本下载
- 火山PC视窗例程
- 互联网那些事
- 引流推广
- 项目揭秘
- 网络营销
- 营销软件
- QQ营销软件
- 娱乐软件
- 机器人插件
- 培训教程
- 技术教程
- 活动线报
- 数据库
- Redis
- Access
- MongoDB
- Mysql
- 问答
- 其它
- 易语言
- 需求
- 在线教程
- 多线程培训班
- 觅风易语言教程
- 模拟系列教程
- 集中营易语言教程
- 历史数据
- 随机tag
已有1位网友发表了看法:
易语言 评论于 [2020-04-17 21:04:42] 回复
易语言路由换ip