利用post实现对一些网站的自动登陆

来源:互联网 发布:一千零一亿软件 编辑:程序博客网 时间:2024/06/07 04:46

首先引用下面的命名空间

Imports System.Net
Imports System.IO
Imports System.Net.Security
Imports System.Security.Authentication
Imports System.Security.Cryptography.X509Certificates

 

然后看下面的代码

  Public Shared Function ValidateCert(ByVal sender As Object, ByVal certificate As System.Security.Cryptography.X509Certificates.X509Certificate, ByVal chain As System.Security.Cryptography.X509Certificates.X509Chain, ByVal sslPolicyErrors As System.Net.Security.SslPolicyErrors) As Boolean
        Return True
    End Function
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        '自动登陆测试
        Dim postdata As String
        Dim encoding As New ASCIIEncoding()
        Dim data As Byte()
        postdata = "&account=A10090LK&action=LogonAction&logonApp=DMS-SGM3&pwd1=SGM12345&password=&pwd2=&username="
        data = encoding.GetBytes(postdata)
        System.Net.ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf ValidateCert)
        Dim myRequest As HttpWebRequest = WebRequest.Create("https://servicenow.shanghaigm.com/INFOWeb/MainServlet?action=CMN_Login")
        myRequest.Method = "POST"
        myRequest.ContentType = "application/x-www-form-urlencoded"
        myRequest.ContentLength = data.Length
        Dim newStream As IO.Stream = myRequest.GetRequestStream()
        newStream.Write(data, 0, data.Length)
        newStream.Close()

        Dim myResponse As HttpWebResponse = myRequest.GetResponse()
        Dim reader As New StreamReader(myResponse.GetResponseStream(), Text.Encoding.[Default])
        Dim content As String = reader.ReadToEnd()
        L1.Text = content
    End Sub

可以看到返回的代码.但无法对其操作,因为地址是本地的那种了.C#实现的代码网上有很多,但VB的没找到,后来在一个台湾网站上找到的VB代码

 

原创粉丝点击