当前位置:→ 股海网股软教程 → 正文
  • 易语言SOCKS5代理例程

  • 相关简介:易语言SOCKS5代理例程 .版本 2 .支持库 shellEx .程序集 类模块_代理服务器_TCP_客户 .程序集变量 客户, 客户 .程序集变量 子程序, 子程序指针 .程序集变量 流程, 短整数型 .程序集变量 地址, 文本型 .程序集变量 端口, 整数型 .程序集变量 数据, 字节集 .子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用 .子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用 .子程序 连接, , 公开 .参数 处理子程序, 子程

  • 文章来源:股海网发布时间:2017-11-30 06:09:26浏览次数:下载次数:0收藏:

易语言SOCKS5代理例程

.版本 2
 .支持库 shellEx

 .程序集 类模块_代理服务器_TCP_客户
.程序集变量 客户, 客户
.程序集变量 子程序, 子程序指针
.程序集变量 流程, 短整数型
.程序集变量 地址, 文本型
.程序集变量 端口, 整数型
.程序集变量 数据, 字节集

.子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用

 

.子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用

 

.子程序 连接, , 公开
.参数 处理子程序, 子程序指针, , 参见本子程序内部的注释部分
.参数 目的服务器地址, 文本型, , 可以为域名或ip地址
.参数 目的服务器端口, 整数型

.如果真 (是否已创建 (SOCKS5代理窗口) = 假)
     载入 (SOCKS5代理窗口, , 假)
 .如果真结束
 复制窗口组件 (SOCKS5代理窗口.TCP_客户, 客户)
客户.标记 = 到文本 (取数组成员数 (代理服务器_TCP_客户) + 1)
地址 = 转换为IP地址 (目的服务器地址)
端口 = 目的服务器端口
 客户.连接 (SOCKS5代理窗口.代理地址.内容, 到数值 (SOCKS5代理窗口.代理端口.内容))
子程序 = 处理子程序
 流程 = 1
客户.发送数据 ({ 5, 0 })
 ' 处理子程序 必须有一个文本型参数 参数的第一个文本是各种指令
' 可以使用 取指令标记(参数) 获得,具体指令意义参见下表:
' 0:实际数据 可用 取回数据() 返回实际数据
' 1:未知的连接方式(除无身份验证和用户名/密码方式以外的)
' 2:用户名或密码错误
' 3:连接目标服务器时错误
' 4:连接成功
' 9:连接断开
' 参数的剩余文本表示数组标记
' 可以使用 取指令数组标志(参数) 获得
' 例如 收到 0 指令表示有数据收到可以采用 代理服务器_TCP_客户[取指令数组标志(参数)].取回数据() 返回实际的数据

.子程序 收到数据, , 公开, 此子程序会自动运行,用户不需要更改或调用
.参数 代理服务器的数据, 字节集
.局部变量 数据包, 字节型, , "10"

 .判断开始 (流程 = 0)
     数据 = 代理服务器的数据
    执行子程序 (子程序, “0” + 客户.标记)
 .判断 (流程 = 1)
     .判断开始 (取字节集右边 (代理服务器的数据, 1) = { 0 })
         输出调试文本 (“无身份验证方式”)
         客户.发送数据 (返回连接字节集 ())
         流程 = 3
     .判断 (取字节集右边 (代理服务器的数据, 1) = { 2 })
         输出调试文本 (“有密码验证方式”)

         客户.发送数据 (取密码连接 ())
         流程 = 2
     .默认
        执行子程序 (子程序, “1” + 客户.标记)
     .判断结束

.判断 (流程 = 2)
     .如果 (代理服务器的数据 = { 1, 0 })
         客户.发送数据 (返回连接字节集 ())
         流程 = 3
     .否则
        执行子程序 (子程序, “2” + 客户.标记)
     .如果结束

.判断 (流程 = 3)
     .如果 (取字节集中间 (代理服务器的数据, 2, 1) = { 0 })
         流程 = 0
         执行子程序 (子程序, “4” + 客户.标记)
     .否则
        执行子程序 (子程序, “3” + 客户.标记)
     .如果结束

.默认

.判断结束


.子程序 取回数据, 字节集, 公开

 返回 (数据)

 .子程序 断开连接, , 公开, 此子程序会自动运行,用户不需要更改或调用

 执行子程序 (子程序, “9” + 客户.标记)

 .子程序 返回连接字节集, 字节集, , 此子程序会自动运行,用户不需要更改或调用
.局部变量 ip, 文本型, , "4"
 .局部变量 数据包, 字节型, , "10"

 ip = 分割文本 (地址, “.”, 4)
数据包 [1] = 5  ' 版本号
 数据包 [2] = 1  ' 连接模式
 数据包 [3] = 0  ' 保留
 数据包 [4] = 1  ' ipv4地址类型
 数据包 [5] = 到数值 (ip [1])  ' 地址1
数据包 [6] = 到数值 (ip [2])  ' 地址2
数据包 [7] = 到数值 (ip [3])  ' 地址3
数据包 [8] = 到数值 (ip [4])  ' 地址4
数据包 [9] = 端口 \ 256  ' 端口1
数据包 [10] = 端口 % 256  ' 端口2
返回 (到字节集 (数据包))

 .子程序 发送数据, 逻辑型, 公开
.参数 数据, 字节集

 返回 (客户.发送数据 (数据))

 .子程序 作废, , 公开

 客户.断开连接 ()
客户.销毁 ()
数据 = {  }

 

易语言SOCKS5代理例程

  • 下载资源所需积分

    0

  • 当前拥有积分

    0

股海网粉丝必读
公式解密、改选股联系QQ:78858997(有偿服务)点击查看详情...
股海网指标公式帮助使用说明!新手必读...
股海网新系统使用说明!新手必读...
股海网VIP用户组必读...
说说看法 0条看法
推荐资源

关于我们 - 联系我们 - 广告合作 - 下载声明 - 网站帮助 - 友情链接 - SiteMap - TOP
Copyright © 2020 铭网科技,All Rights Reserved.湘ICP备09016573号-10
本站所有广告和与股海网均无关系,请股友自行判断真假!股海网客服QQ:78858997
股海网股票软件下载中心
股海网股票书籍下载中心 湘公网安备43108102000040号