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)

你可能感兴趣的:(request)