网站首页 > 易语言相关 > 网络相关源码 正文
.版本 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