开源POSTQQ注册开源
功能说明:该程序是一段易语言源代码,主要实现了一个功能强大的多线程 HTTP 网页访问模块。程序的核心目的是提供一种非阻塞式的网络请求方式,允许用户在易语言环境中方便地发送 GET 或 POST 请求,并获取网页内容。
主要功能子程序为“访问网页”,这是一个公开子程序,返回字节集类型的数据。它接受了丰富的参数,包括完整网址、访问方式(GET/POST)、代理地址、用户名密码认证、附加协议头、提交信息、超时值、返回状态文本以及 Cookie 等。这使得该子程序能够适应各种复杂的网络请求场景。
程序的技术实现细节如下:
1. 多线程机制:为了防止网络请求阻塞主界面线程,程序在“访问网页”子程序中创建了一个新线程(通过 CreateThread API),该线程执行"ReadFile"子程序。主线程通过 MsgWaitForMultipleObjects 等待子线程完成,同时设置了超时处理,确保程序不会无限期挂起。
2. 线程间通信:程序使用内存文件(hMemFile)作为主线程和工作线程之间的数据交换媒介。主线程将请求参数写入内存文件,工作线程读取参数执行请求,并将结果写回内存文件供主线程读取。标志位"MissWho"用于验证数据完整性。
3. 底层 API 调用:工作线程"ReadFile"直接调用了 Windows WinINet API 系列函数,包括 InternetOpenA、InternetConnectA 和 HttpOpenRequestA。这表明程序不依赖易语言自带的网络组件,而是直接使用系统底层接口,具有更高的灵活性和控制力。
4. 网络特性支持:
- 代理支持:可配置代理服务器地址。
- 认证支持:支持 HTTP 基本认证(用户名/密码)。
- Cookie 管理:可根据是否提供 Cookie 字符串来决定是否禁止 WinINet 自动处理 Cookie。
- 协议头定制:允许用户添加自定义 HTTP 头,若未指定 Accept 头,程序会自动添加默认的 Accept 头以兼容常见网页。
- 超时控制:支持自定义超时时间,默认 90 秒,防止网络不佳时程序假死。
此外,代码中包含标准的易语言程序集结构,如"_启动子程序”和"_临时子程序”,表明这是一个标准的易语言模块或工程片段。整体来看,这是一个用于易语言开发的高级网络请求库,特别适合需要并发处理网络任务或需要精细控制 HTTP 请求细节的软件开发场景。
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 访问网页
| |
| |------ ReadFile
| |
| |------ 取域名
| |
| |------ 取端口
| |
| |------ 设COOKIE
| |
| |------ 取COOKIE
| |
| |------ 取页面地址
| |
| |------ UTF_8转码
| |
| |------ UTF_8解码
| |
| |------ 转换时间为GMT格式
| |
| |
======调用的Dll
| |
| |---[dll]------ InternetOpenA
| |
| |---[dll]------ InternetCloseHandle
| |
| |---[dll]------ InternetConnectA
| |
| |---[dll]------ HttpOpenRequestA
| |
| |---[dll]------ HttpSendRequestA
| |
| |---[dll]------ InternetReadFile
| |
| |---[dll]------ HttpQueryInfoA
| |
| |---[dll]------ InternetSetCookieA
| |
| |---[dll]------ CreateThread
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ TerminateThread
| |
| |---[dll]------ MsgWaitForMultipleObjects
| |
| |---[dll]------ 读取COOKIE
| |
| |---[dll]------ HttpAddRequestHeaders
| |
| |---[dll]------ _HTTP查询信息
| |
| |---[dll]------ _Internet激活
| |
| |---[dll]------ _Internet建立连接
| |
| |---[dll]------ _Internet关闭句柄
| |
| |---[dll]------ _Internet读文件
| |
| |---[dll]------ _Http创建请求
| |
| |---[dll]------ _Http发送请求
| |
| |---[dll]------ _读取COOKIE
| |
| |---[dll]------ _设置COOKIE
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ 读验证码
| |
| |------ 注册用户信息
| |
| |------ _编辑框1_内容被改变
| |
| |------ 换ip
| |
| |------ _编辑框1_按下某键
| |
| |------ _按钮1_被单击
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。