VB.net Non Interactive Login

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Bascoe
    Member
    • Sep 2018
    • 42

    #1

    VB.net Non Interactive Login

    For those who need it...this assumes you have followed the procedures advised by BF to create your certs, and you have created a.p12 certificate.

    Code:
    Public Function NonInteractiveSessToken(strUserName As String, strPassword As String) As String
    
            Dim postData As String = "username=" & strUserName & "&password=" & strPassword
    
            Dim request As HttpWebRequest = WebRequest.Create("https://identitysso-cert.betfair.com/api/certlogin")
    
            Dim oBFLoginResponse As New GrantClass.clBFNonIntResponse
            Try
                Dim cert As New X509Certificate2("C:\PathToCert\client-2048.p12", "")
                request.Method = "POST"
                request.ContentType = "application/x-www-form-urlencoded"
                request.Headers.Add("X-Application: YourBotName")
                request.ClientCertificates.Add(cert)
                request.Accept = "application/json"
    
                Using dataStream As Stream = request.GetRequestStream()
                    Using writer As New StreamWriter(dataStream, Encoding.[Default])
                        writer.Write(postData)
                    End Using
                End Using
    
                Using stream As Stream = DirectCast(request.GetResponse(), HttpWebResponse).GetResponseStream()
                    Using reader As New StreamReader(stream, Encoding.[Default])
                        Dim strResponse As String = reader.ReadToEnd()
                        oBFLoginResponse = JsonConvert.DeserializeObject(Of GrantClass.clBFNonIntResponse)(strResponse)
                    End Using
                End Using
            Catch ex As System.Exception
                MsgBox("Exception " & ex.Message)
            End Try
            Return oBFLoginResponse.sessionToken
        End Function​
    
    Public Class clBFNonIntResponse
            Public Property sessionToken As String
            Public Property loginStatus As String
    
        End Class​
Working...
X