lifuxing8 发表于 2024-3-13 18:56:25

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

本帖最后由 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

lifuxing8 发表于 2024-3-13 19:04:35

此程序原为公司内部使用,现公开供大家学习研究使用,没有任何限制

jy010 发表于 2024-3-28 13:52:02

很不错的
页: [1]
查看完整版本:  http-websocket代理,实现websocket请求就像操作http请求一样。有详细使用说明