Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports System.IO
- Imports System.Net
- Imports System.Text
- Imports System.Text.RegularExpressions
- Module Module1
- Const UserAgent As String = "Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36"
- Public token As String = ""
- Dim CookieJar2 As New CookieContainer()
- Public Function InstagramLogin(UserName As String, Password As String, Cookies As CookieContainer) As Boolean
- Const LoginURL As String = "https://www.instagram.com/accounts/login/"
- Const LoginPostURL As String = LoginURL & "ajax/"
- Dim LoginPage As String = HttpGet(LoginURL, Cookies)
- Dim CSRFToken As String = Regex.Match(LoginPage, """csrf_token"":""(\w+)""").Groups(1).Value
- UserName = WebUtility.UrlEncode(UserName)
- Password = WebUtility.UrlEncode(Password)
- Dim Post As String = String.Format("username={0}&password={1}", UserName, Password)
- Dim PostData() As Byte = Encoding.ASCII.GetBytes(Post)
- Dim Request As HttpWebRequest
- Request = DirectCast(WebRequest.Create(LoginPostURL), HttpWebRequest)
- Request.Method = "POST"
- Request.KeepAlive = True
- Request.CookieContainer = Cookies
- Request.ContentType = "application/x-www-form-urlencoded"
- Request.Accept = "*/*"
- Request.UserAgent = UserAgent
- Request.ContentLength = PostData.Length
- Request.Referer = LoginURL
- Request.AllowAutoRedirect = True
- token = CSRFToken
- Request.Headers.Add("X-Instagram-AJAX", "1")
- Request.Headers.Add("X-CSRFToken", CSRFToken)
- Request.Headers.Add("X-Requested-With", "XMLHttpRequest")
- Request.GetRequestStream().Write(PostData, 0, PostData.Length)
- Dim response As HttpWebResponse = Request.GetResponse()
- Cookies.Add(Response.Cookies)
- Dim AuthResponse As String = ""
- Using reader As New StreamReader(response.GetResponseStream())
- While Not reader.EndOfStream
- AuthResponse &= reader.ReadLine()
- End While
- End Using
- Return AuthResponse.Contains("""authenticated"": true")
- End Function
- Public Function HttpGet(Page As String, Cookies As CookieContainer, Optional Referrer As String = Nothing) As String
- Dim Request As HttpWebRequest
- Request = DirectCast(WebRequest.Create(Page), HttpWebRequest)
- Request.Method = "GET"
- Request.KeepAlive = True
- Request.CookieContainer = Cookies
- Request.ContentType = "application/x-www-form-urlencoded"
- Request.UserAgent = UserAgent
- Request.Referer = Referrer
- Request.AllowAutoRedirect = False
- Request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q="
- Request.Headers.Add("method", "GET")
- Request.Headers.Add("scheme", "https")
- Request.Headers.Add("cache-control", "max-age=0")
- Request.Headers.Add("upgrade-insecure-requests", "1")
- Request.Headers.Add("path", "/accounts/edit/")
- Request.Headers.Add("authority", "www.instagram.com")
- Request.Headers.Add("X-Instagram-AJAX", "1")
- Request.Headers.Add("X-CSRFToken", token)
- Request.Headers.Add("X-Requested-With", "XMLHttpRequest")
- Dim Response As HttpWebResponse
- Response = DirectCast(Request.GetResponse(), HttpWebResponse)
- Cookies.Add(Response.Cookies)
- Dim Reader As New StreamReader(Response.GetResponseStream())
- Return Reader.ReadToEnd()
- End Function
- Private Function HttpPost(Page As String, Data As String, Cookies As CookieContainer, Optional Referrer As String = Nothing) As String
- Dim Bytes() As Byte = Encoding.ASCII.GetBytes(Data)
- Dim Request As HttpWebRequest
- Request = DirectCast(WebRequest.Create(Page), HttpWebRequest)
- Request.Method = "POST"
- Request.KeepAlive = True
- Request.CookieContainer = Cookies
- Request.ContentType = "application/x-www-form-urlencoded"
- Request.Accept = "*/*"
- Request.UserAgent = UserAgent
- Request.Referer = Referrer
- Request.AllowAutoRedirect = True
- Request.ContentLength = Bytes.Length
- Dim Request_Stream As Stream = Request.GetRequestStream()
- Request_Stream.Write(Bytes, 0, Bytes.Length)
- Request_Stream.Close()
- Dim Response As HttpWebResponse
- Response = DirectCast(Request.GetResponse(), HttpWebResponse)
- Cookies.Add(Response.Cookies)
- Dim Reader As New StreamReader(Response.GetResponseStream())
- Return Reader.ReadToEnd()
- End Function
- End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement