开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 23892|回复: 144
收起左侧

[2018开源大赛(第三届)] CURL多线程使用http代理访问WS/WSS

[复制链接]
结帖率:100% (2/2)
发表于 2018-11-28 14:01:05 | 显示全部楼层 |阅读模式   四川省资阳市
  
子程序名返回值类型公开备 注
获取SOCKET整数型 
参数名类 型参考可空数组备 注
url文本型
代理文本型
WSS逻辑型
超时整数型
变量名类 型静态数组备 注
res整数型 
data字节集 
long整数型 
索引整数型 
handle整数型 
frameWebsocketFrame 
socket整数型 
局_url文本型 
局_代理文本型 
time整数型 
如果 (WSS = )
局_url = “https://” + url
局_url = “http://” + url
time = 超时
局_代理 = 代理
handle = curl_easy_init ()
curl_easy_setopt (handle, #CURLOPT_URL, _取文本数据地址 (局_url))
curl_easy_setopt (handle, #CURLOPT_SSL_VERIFYPEER, 0)
curl_easy_setopt (handle, #CURLOPT_PROXY, _取文本数据地址 (局_代理))
curl_easy_setopt (handle, #CURLOPT_CONNECT_ONLY, 1)
curl_easy_setopt (handle, #CURLOPT_TIMEOUT, time)
res = curl_easy_perform (handle)
如果真 (res ≠ 0)
curl_easy_cleanup (handle)
返回 (-1)
data = 取握手数据包 ()
res = curl_easy_send (handle, _取字节集数据地址 (data), 取字节集长度 (data), long)
frame.opcode = #OPCODE_BINARY
frame.fin = 真
frame.masked = 真
frame.payload_data = __ASM_16进制文本到字节集 (“****”)
data = 请求数据 (frame)
res = curl_easy_send (handle, _取字节集数据地址 (data), 取字节集长度 (data), long)
frame.payload_data = __ASM_16进制文本到字节集 (“****”)
data = 请求数据 (frame)
res = curl_easy_send (handle, _取字节集数据地址 (data), 取字节集长度 (data), long)
如果真 (res ≠ 0)
curl_easy_cleanup (handle)
返回 (-1)
curl_easy_getinfo (handle, #CURLINFO_ACTIVESOCKET, _取整数型数据地址 (socket))

  
子程序名返回值类型公开备 注
判断SOCKET是否正常  
参数名类 型参考可空数组备 注
索引整数型
变量名类 型静态数组备 注
udtRead_fdsFD_SET 
udtWrite_fdsFD_SET 
udtError_fdsFD_SET 
lngRetValue整数型 
data字节集 
res整数型 
long整数型 
handle整数型 
frameWebsocketFrame 
局_时钟类_多线程式时钟 
线程句柄整数型 
socket整数型 
buff字节集 
n整数型 
socket = 到整数 (超级列表框1.取标题 (索引, 2))
handle = 到整数 (超级列表框1.取标题 (索引, 3))
如果真 (handle = 0)
返回 ()
res = curl_easy_getinfo (handle, #CURLINFO_ACTIVESOCKET, _取整数型数据地址 (socket))
udtRead_fds.fd_array = socket
udtWrite_fds.fd_array = socket
udtError_fds.fd_array = socket
udtRead_fds.fd_count = 1
udtWrite_fds.fd_count = 1
udtError_fds.fd_count = 1
lngRetValue = select (0, udtRead_fds, udtWrite_fds, udtError_fds, 5)
调试输出 (socket, handle, 索引, lngRetValue, res, udtRead_fds.fd_count, udtWrite_fds.fd_count, udtError_fds.fd_count)
如果真 (lngRetValue = -1)
curl_easy_cleanup (handle)
进入许可区 (许可证)
超级列表框1.置标题 (索引, 3, “0”)
超级列表框1.置标题 (索引, 4, “掉线!!”)
退出许可区 (许可证)
返回 ()
如果真 (udtRead_fds.fd_count = 1)
buff = 取空白字节集 (1024)
curl_easy_recv (handle, _取字节集数据地址 (buff), 取字节集长度 (buff), n)
' 调试输出 (buff, n)
frame.opcode = #OPCODE_BINARY
frame.fin = 真
frame.masked = 真
frame.payload_data = __ASM_16进制文本到字节集 (“****”)
data = 请求数据 (frame)
res = curl_easy_send (handle, _取字节集数据地址 (data), 取字节集长度 (data), long)


i支持库列表   支持库注释   
iext扩展界面支持库一
spec特殊功能支持库
EThread多线程支持库


源码中使用的多线程是论坛开源的多线程 使用的CURL是@JnToo编译的7.59版本 多线程时钟使用的是@呵呵仙
下载地址回复查看
例子.zip (1.2 MB, 下载次数: 988)
TIM图片20181128140031.png

点评

1元/天的高质量代理 https://proxy.eternalstudio.cn/   山东省济南市  发表于 2019-2-26 15:17

评分

参与人数 8好评 +7 精币 +8 收起 理由
jingyi11023995 + 1 所用的模块最好提供一下,或者放在资源里面。
l1over + 1 + 1 支持开源~!感谢分享
在水一方11 + 1 把多线程模块发出来就更佳了
a385937922 + 1 这逼格...啧啧....楼主好牛逼!英文肯定8级
被封禁言 + 1 支持开源~!感谢分享
Cand + 1 + 2 看不懂就觉得牛逼系列
static007 + 1 + 2 可以带下模块,毕竟帖子太多2,不好找
Patek + 1 + 2 支持开源~!感谢分享

查看全部评分

本帖被以下淘专辑推荐:

签到天数: 3 天

发表于 2024-4-3 17:40:28 | 显示全部楼层   重庆市重庆市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2024-2-25 23:27:18 | 显示全部楼层   山东省淄博市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2024-2-25 23:27:00 | 显示全部楼层   山东省淄博市
看不懂就觉得牛逼系列
回复 支持 反对

使用道具 举报

发表于 2024-1-7 18:02:45 | 显示全部楼层   贵州省遵义市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:83% (5/6)

签到天数: 16 天

发表于 2023-12-29 14:06:49 | 显示全部楼层   广东省佛山市
开源支持,学习一下
回复 支持 反对

使用道具 举报

签到天数: 6 天

发表于 2023-12-19 18:20:16 | 显示全部楼层   湖南省益阳市
谢谢分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 2 天

发表于 2023-12-6 03:19:05 | 显示全部楼层   重庆市重庆市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:82% (9/11)

签到天数: 1 天

发表于 2023-3-14 14:58:15 | 显示全部楼层   湖北省武汉市
1111111111111
回复 支持 反对

使用道具 举报

发表于 2023-3-13 16:24:18 | 显示全部楼层   河南省焦作市
开源的多线程
回复 支持 反对

使用道具 举报

发表于 2023-3-11 17:42:43 | 显示全部楼层   吉林省吉林市
66666666666666666666666666666
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表