获取HttpWebRequest POST错误

时间:2015-11-21 21:42:19

标签: vb.net post httpwebrequest

我不知道出了什么问题,因为这段代码每次都对我有用,但对于一个网站,它在NullReferenceException was undhandled行给出了一个名为mainCookie.Add(postResponse.Cookies)的错误。

以下是代码:

Dim mainCookie As CookieContainer

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim postData As String = "login=login&username=" & UserText.Text & "&password=" & PassText.Text & "&login=Login"
    Dim bytes() As Byte = ASCIIEncoding.UTF8.GetBytes(postData)
    Dim postReq As HttpWebRequest = WebRequest.Create("http://website.com/login.php")
    postReq.Method = "POST"
    postReq.KeepAlive = True
    postReq.CookieContainer = mainCookie
    postReq.ContentType = "application/x-www-form-urlencoded"
    postReq.Referer = "http://website.com/"
    postReq.UserAgent = "Mozilla/5.0 (Windows NT 10.0; rv:41.0) Gecko/20100101 Firefox/41.0"
    postReq.ContentLength = bytes.Length
    Dim postStream As Stream = postReq.GetRequestStream()
    postStream.Write(bytes, 0, bytes.Length)
    postStream.Close()
    Dim postResponse As HttpWebResponse
    postResponse = postReq.GetResponse()
    mainCookie.Add(postResponse.Cookies)
    Dim reader As New StreamReader(postResponse.GetResponseStream())
    Dim strSource As String = reader.ReadToEnd
    If strSource.Contains("Welcome") Then
        MessageBox.Show("Login Successful")
        TextBox1.Text = strSource
    Else
        MessageBox.Show("Login Failed")
        TextBox1.Text = strSource
    End If
End Sub

0 个答案:

没有答案