0

わかりましたので、[b]私の[/b]サイトにログインするプログラムを作成しようとしています。ボット/ソフトウェアは私をログインさせますが、RPG内の他のページに移動すると、ログアウトしてしまいます。ログインしているCookieをリセットしたためです。

これは私のログインボタンのコードです

Public Class Form1
    Dim logincookie As CookieContainer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim postData As String = "username=" & TextBox2.Text & "&password=" & TextBox1.Text & "&submit=Login"
        Dim tempCookies As New CookieContainer
        Dim encoding As New UTF8Encoding
        Dim byteData As Byte() = encoding.GetBytes(postData)

        Dim postReq As HttpWebRequest = DirectCast(WebRequest.Create("http://www.myurl.net/login.php?tid="), HttpWebRequest)
        postReq.Method = "POST"
        postReq.KeepAlive = True
        postReq.CookieContainer = tempCookies
        postReq.ContentType = "application/x-www-form-urlencoded"
        postReq.Referer = "http://www.myurl.net/login.php?tid="
        postReq.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0.1"
        postReq.ContentLength = byteData.Length
        Dim postreqstream As Stream = postReq.GetRequestStream()
        postreqstream.Write(byteData, 0, byteData.Length)
        postreqstream.Close()
        Dim postresponse As HttpWebResponse

        postresponse = DirectCast(postReq.GetResponse(), HttpWebResponse)
        tempCookies.Add(postresponse.Cookies)
        logincookie = tempCookies
        Dim postreqreader As New StreamReader(postresponse.GetResponseStream())

        Dim thepage As String = postreqreader.ReadToEnd

        RichTextBox1.Text = thepage

    End Sub

上部の Dim logincookie As CookieContainer に注目してください。

すべてが完璧に機能します(ログインします)。次に、基本的なhtmlフォームを送信できるかどうかをテストする別のボタンがあります

これがそのボタンコードです

 Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim request As HttpWebRequest = DirectCast(WebRequest.Create("http://myurl.net/signature.php"), HttpWebRequest)
        request.CookieContainer = logincookie
        Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
        Dim reader As New StreamReader(response.GetResponseStream())
        Dim theusercp As String = reader.ReadToEnd

        RichTextBox2.Text = theusercp
    End Sub

これの一番上で Dim logincookie As CookieContainer を宣言していないことに注意してください。2番目のボタンをクリックすると、このコードの一番下のビットがアクティブになり、ログアウトされます...ログインCookieをリセットしていると思いますか?それとも正しく設定していないのでしょうか??

ユーザーがこのexeを介して私のサイトにログインし、そこでsigなどを更新できるようにしようとしています...

Ps両方のボタンがhtmlを私に送り返すので、ログアウトを見ることができます

4

0 に答える 0