Я пытаюсь автоматизировать процесс входа на сайты. К сожалению, я получаю сообщение об ошибке 403 о том, что это запрещено. Я предполагаю, что веб-сайт предпринял что-то, чтобы помешать мне отправлять данные постов. Возможно ли это, или я просто где-то ошибся в коде?
Я использую два поля ввода для ввода имени пользователя и пароля, а также расширенное текстовое поле, которое в конечном итоге выльется в текст HTML-документа после обработки сообщения. .
Буду признателен за любую помощь в решении проблемы.
Imports System.Net
Imports System.Text
Imports System.IO
Public Class Form1
Public LoginCookie As CookieContainer
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim PostData As String = "utf8=✓&authenticity_token=5zRqpwz6SOuFlhIHvJrKb6w5sUJYH1OaPjM13Cjup5zXRMzGbcj3qx4pcg96xutqwFOdU3/DpCjVewF3Me2D5g==&user_return_to=&user[email]=" & TextBox_Username.Text & "&user[password]=" & TextBox_Password.Text & "&user[remember_me]=true"
Dim TempCookies As New CookieContainer
Dim encoding As New UTF8Encoding
Dim ByteData As Byte() = encoding.GetBytes(PostData)
Dim PostReq As HttpWebRequest = DirectCast(WebRequest.Create("https://www.artstation.com/users/sign_in"), HttpWebRequest)
PostReq.Method = "POST"
PostReq.KeepAlive = True
PostReq.CookieContainer = TempCookies
PostReq.ContentType = "application/x-www-form-urlencoded"
PostReq.Referer = "https://www.artstation.com/users/sign_in"
PostReq.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0"
PostReq.ContentLength = ByteData.Length
Dim PostReqStream As Stream = PostReq.GetRequestStream()
PostReqStream.Write(ByteData, 0, ByteData.Length)
PostReqStream.Close()
Dim PostResponse As HttpWebResponse
' I get an error on the line below:
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
End Class