Request web pages pretected be login page (VB.NET)
' Set the initial parameters
Dim UserID As String = "myUsername" ' Username
Dim PWord As String = "myPassword" ' Password
Dim domain As String = "http://myDomain/secure"
Dim encoding As New System.Text.ASCIIEncoding
Dim CookieC As New Net.CookieContainer
' Use the appropriate HTML field names to stuff into the post header
Dim PostData As String = _
"txtUName=" & UserID & _
"&txtPWord=" & PWord ' Note: where txtUName & txtPWord are the field names
Dim Data() As Byte = encoding.GetBytes(PostData)
' Initialise the request
Dim LoginReq As Net.HttpWebRequest = Net.WebRequest.Create(domain & "default.asp") ' Login location taken from the form action
With LoginReq
.KeepAlive = False
.Method = "POST"
' Note: if the page uses a redirect if will fail
.AllowAutoRedirect = False
.ContentType = "application/x-www-form-urlencoded"
.ContentLength = Data.Length
' Set empty container
.CookieContainer = CookieC
End With
' Add the POST data
Dim SendReq As IO.Stream = LoginReq.GetRequestStream
SendReq.Write(Data, 0, Data.Length)
SendReq.Close()
' Obtain the response
Dim LoginRes As Net.HttpWebResponse = LoginReq.GetResponse()
' Retreive the headers from the request (e.g. the location header)
Dim Redirect As String = LoginRes.Headers("Location")
' Add any returned cookies to the cookie collection
CookieC.Add(LoginRes.Cookies)
' Move to the redirected page as a GET request
LoginReq = Net.WebRequest.Create(domain & Redirect)
With LoginReq
.KeepAlive = False
.Method = "GET"
.ContentType = "application/x-www-form-urlencoded"
.AllowAutoRedirect = True
.CookieContainer = CookieC
End With
' Perform the navigate and output the HTML
LoginRes = LoginReq.GetResponse()
Dim sReader As IO.StreamReader = New IO.StreamReader(LoginRes.GetResponseStream)
Dim HTML As String = sReader.ReadToEnd
Debug.Write(HTML)
Dim UserID As String = "myUsername" ' Username
Dim PWord As String = "myPassword" ' Password
Dim domain As String = "http://myDomain/secure"
Dim encoding As New System.Text.ASCIIEncoding
Dim CookieC As New Net.CookieContainer
' Use the appropriate HTML field names to stuff into the post header
Dim PostData As String = _
"txtUName=" & UserID & _
"&txtPWord=" & PWord ' Note: where txtUName & txtPWord are the field names
Dim Data() As Byte = encoding.GetBytes(PostData)
' Initialise the request
Dim LoginReq As Net.HttpWebRequest = Net.WebRequest.Create(domain & "default.asp") ' Login location taken from the form action
With LoginReq
.KeepAlive = False
.Method = "POST"
' Note: if the page uses a redirect if will fail
.AllowAutoRedirect = False
.ContentType = "application/x-www-form-urlencoded"
.ContentLength = Data.Length
' Set empty container
.CookieContainer = CookieC
End With
' Add the POST data
Dim SendReq As IO.Stream = LoginReq.GetRequestStream
SendReq.Write(Data, 0, Data.Length)
SendReq.Close()
' Obtain the response
Dim LoginRes As Net.HttpWebResponse = LoginReq.GetResponse()
' Retreive the headers from the request (e.g. the location header)
Dim Redirect As String = LoginRes.Headers("Location")
' Add any returned cookies to the cookie collection
CookieC.Add(LoginRes.Cookies)
' Move to the redirected page as a GET request
LoginReq = Net.WebRequest.Create(domain & Redirect)
With LoginReq
.KeepAlive = False
.Method = "GET"
.ContentType = "application/x-www-form-urlencoded"
.AllowAutoRedirect = True
.CookieContainer = CookieC
End With
' Perform the navigate and output the HTML
LoginRes = LoginReq.GetResponse()
Dim sReader As IO.StreamReader = New IO.StreamReader(LoginRes.GetResponseStream)
Dim HTML As String = sReader.ReadToEnd
Debug.Write(HTML)