I was hoping to do something like this:
Private Sub DoPost()
Dim dnnRequest As New WebClient
Dim response As Byte()
Dim loginURL As String = "https://www.sitename.com/default.aspx?ctl=login"
response = dnnRequest.DownloadData(loginURL)
Dim viewStateString As String = Me.ExtractViewState(Encoding.ASCII.GetString(response))
Dim postData As String
postData = String.Format _
("__VIEWSTATE={0}&dnn:ctr:Signin:txtUsername={1}&dnn:ctr:Signin:txtPassword={2}", _
viewStateString, usernameFromDB, passwordFromDB)
dnnRequest.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
response = dnnRequest.UploadData(loginURL, "POST", Encoding.ASCII.GetBytes(postData))
'Set Cookies from response then redirect to portal....
End Sub
Private Function ExtractViewState(ByVal input As String) As String
Dim viewStateDelimiter As String = "__VIEWSTATE"
Dim valueDelimiter As String = "value=""/"
Dim viewStateNamePosition As Integer = input.IndexOf(viewStateDelimiter)
Dim viewStateValuePosition As Integer = input.IndexOf(valueDelimiter, viewStateNamePosition)
Dim viewStateStartPosition As Integer = viewStateValuePosition + valueDelimiter.Length
Dim viewStateEndPosition As Integer = input.IndexOf(""" /", viewStateStartPosition)
Return HttpUtility.UrlEncodeUnicode(input.Substring _
(viewStateStartPosition, viewStateEndPosition - viewStateStartPosition))
End Function
---------------------
Is this not possible or not a good way to go about it?