找回密码
 加入
搜索
查看: 224|回复: 2

[原创]  http-websocket代理,实现websocket请求就像操作http请求一样。有详细使用说明

[复制链接]
发表于 2024-3-13 18:56:25 | 显示全部楼层 |阅读模式
本帖最后由 lifuxing8 于 2024-3-13 19:31 编辑

即:把ws地址和ws字符串,传递给http服务器,服务器请求ws,然后把ws结果再返回给http前端。简单好用,不想自己折腾websocket的,可以试试这个,用http代理。
winhttp.au3的websocket在win7上无法成功请求,好像是win7的winhttp.dll不支持。可以试试这个代理服务。简单易用。

此程序原为公司内部使用,现公开供大家学习研究使用,没有任何限制。
贴上代码:
If ProcessExists("http-websocket.exe")=0 Then 
   Run("http-websocket.exe")
EndIf
$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$bb="nihao"
$bb=StringToBinary($bb)
$bb="wsurl=wss://echo.websocket.org&wssend="&$bb

$oHTTP.Open("get","http://127.0.0.1:9988/send?"&$bb,false)
$oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
$oHTTP.Send()

$HTMLSource = $oHTTP.Responsetext
$HTMLSource = Encode2Unicode($HTMLSource)
$HTMLSource=StringReplace($HTMLSource,"","")

MsgBox(0,"",$HTMLSource)

Func Encode2Unicode($str)
        $Temp = StringRegExp($str, '(\\u\w{4})', 3)
        If @error Then Return $str
        For $i = 0 To UBound($Temp) - 1
                $Te = ChrW(Dec(StringReplace($Temp[$i], '\u', '')))
                $unEncode = StringReplace($str, $Temp[$i], $Te, 1)
                $str = $unEncode
        Next
        Return $unEncode
EndFunc

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1贡献 +5 收起 理由
绿色风 + 5 很给力!

查看全部评分

 楼主| 发表于 2024-3-13 19:04:35 | 显示全部楼层
此程序原为公司内部使用,现公开供大家学习研究使用,没有任何限制
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-27 16:14 , Processed in 0.073371 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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