Ok, so I'm trying to code something to get information from tesco accounts for a few friends to use, but having issues. It keeps telling me I need cookies enabled. So I have looked around, said something about setting cookies from a previous visit then posting data but it didnt work. Any ideas?
Code:
Code:
Code
Imports System.IO
Imports System.Net
Imports System.Text
Public Class Form1
Public Shared loginCookies As CookieContainer
Private Sub BtnStart_Click(sender As Object, e As EventArgs) Handles BtnStart.Click
For Each account As String In ListBoxAccounts.Items
Try
Dim combo() As String = account.Split(":")
Dim email As String = combo(0)
Dim password As String = combo(1)
Dim loginData As String = String.Format("loginID={0}&password={1}&form=fSignin&from=&formData=bmV3UmVnPXRydWUm&seamlesswebtag=&confirm-signin.x=1&confirm-signin.y=1", email, password)
Dim request As HttpWebRequest = DirectCast(HttpWebRequest.Create("https://secure.tesco.com/register/"), HttpWebRequest)
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(loginData)
Dim tempCookies As New CookieContainer
request.CookieContainer = tempCookies
request.Method = "POST"
request.ContentType = "application/x-www-form-urlencoded"
request.ContentLength = byteArray.Length
request.ProtocolVersion = HttpVersion.Version11
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36"
request.Referer = "https://secure.tesco.com/register/default.aspx?vstore=0&as=f"
request.KeepAlive = True
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
request.AllowAutoRedirect = True
request.Host = "secure.tesco.com:443"
request.Timeout = 60000
Dim postreqstream As Stream = request.GetRequestStream()
postreqstream.Write(byteArray, 0, byteArray.Length)
postreqstream.Close()
Dim postresponse As HttpWebResponse
postresponse = DirectCast(request.GetResponse(), HttpWebResponse)
tempCookies.Add(postresponse.Cookies)
loginCookies = tempCookies
Dim postreqreader As New StreamReader(postresponse.GetResponseStream())
Dim thepage As String = postreqreader.ReadToEnd
WebBrowserResponse.DocumentText = thepage
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Next
End Sub
Private Sub BtnImport_Click(sender As Object, e As EventArgs) Handles BtnImport.Click
Dim openfile = New OpenFileDialog() With {.Filter = "Text (*.Text)|*.txt"}
If (openfile.ShowDialog() = System.Windows.Forms.DialogResult.OK) Then
ListBoxAccounts.Items.Clear()
For Each line As String In File.ReadAllLines(openfile.FileName)
ListBoxAccounts.Items.Add(line)
Next
End If
End Sub
End Class