在VB.net中使用websocket-sharp和websocket4net HTTP身份验证

时间:2019-06-02 09:19:06

标签: c# vb.net websocket

我尝试在Google中搜索文档以解决我的问题,但找不到任何东西。所以我在这里发表我的问题,希望能从经验丰​​富的人那里得到一些帮助。

正因为如此,我坚持了一个星期的项目。

我想在VB.net代码中使用websocket(任何插件或控件),以便将数据发送到第三方服务器

基本上,这是我想做的工作:

1。服务器要求我使用这样的URL登录:https://api.xxxxx.xxx/Authen/loginweb-使用OPTIONS方法登录此表单,然后与用户一起发送POST并通过,我很紧张以前见过这种方法

2。登录后,我应该调用该URL以获得令牌:https://tx.xxxx.xxx/signalr/negotiate-它会为我返回一个令牌

3。获得该令牌后,我可以将数据发送至:wss://xxxx.xxxxx.xxx/signalr/connect?transport = webSockets&connectionToken = {{TOKEN}}&connectionData = [{“ name”:“ xxxx”}]&tid = 3 -通过Json发送数据,这是最后一步

我使用chrome和firefox登录并获取令牌,然后使用该令牌作为我的代码,但这可能无法正常工作。

Private websocket As WebSocket4Net.WebSocket
    Private Sub Button1_Click(sender As Object, ev As EventArgs) Handles Button1.Click

        websocket = New WebSocket4Net.WebSocket("wss://xxxx.xxxxx.xxx/signalr/connect?transport=webSockets&connectionToken={TOKEN}&connectionData=[{""name"":""xxxxx""}]&tid=3")
        AddHandler websocket.Opened, Sub(s, e) socketOpened(s, e)
        AddHandler websocket.Error, Sub(s, e) socketError(s, e)
        AddHandler websocket.Closed, Sub(s, e) socketClosed(s, e)
        AddHandler websocket.MessageReceived, Sub(s, e) socketMessage(s, e)
        AddHandler websocket.DataReceived, Sub(s, e) socketDataReceived(s, e)

        websocket.Open()

    End Sub

    Sub socketOpened(s As Object, e As EventArgs)
        'websocket.Send("{""H"":""minigamehub"",""M"":""GetEventJackpot"",""A"":[],""I"":277}")
        MsgBox("sent")
    End Sub

    Sub socketClosed(s As Object, e As EventArgs)

    End Sub

    Sub socketError(s As Object, e As SuperSocket.ClientEngine.ErrorEventArgs)
        MsgBox(e.Exception.Message)
    End Sub

    Sub socketMessage(s As Object, e As WebSocket4Net.MessageReceivedEventArgs)
        MsgBox(e.Message)
    End Sub


    Sub socketDataReceived(ss As Object, e As WebSocket4Net.DataReceivedEventArgs)

    End Sub

我收到“ HTTP / 1.1 403 Forbiden”错误,并且访客服务器不允许我发送数据。

我希望有人能帮助我如何使用websocket-shap或websocket4net一步一步地编写代码以实现我的VB.Net代码

  • 登录
  • 获取令牌

继续我的项目所需要做的一切。确实需要帮助

非常感谢您!

0 个答案:

没有答案