|
You last visited: Today at 08:37
Advertisement
[VB] Facebook login "Cookies erforderlich"
Discussion on [VB] Facebook login "Cookies erforderlich" within the .NET Languages forum part of the Coders Den category.
12/05/2012, 19:31
|
#1
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
[VB] Facebook login "Cookies erforderlich"
Hi,
ich wollte mich mit meinem Programm in Facebook einloggen aber facebook sagt, dass Cookies erfoderlich sind, obwohl ist diese requeste.
PHP Code:
Private Function WebRPOST(ByVal Url As String, ByVal post As String, ByVal tempcookie As CookieContainer)
Dim Request As HttpWebRequest = CType(WebRequest.Create(Url), HttpWebRequest)
Request.Method = "POST"
Request.ContentType = "application/x-www-form-urlencoded"
Request.UserAgent = " Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0"
Request.CookieContainer = tempcookie
Dim byteArray() As Byte = Encoding.UTF8.GetBytes(post)
Request.ContentLength = byteArray.Length
Dim DataStream As Stream = Request.GetRequestStream()
DataStream.Write(byteArray, 0, byteArray.Length)
DataStream.Close()
Dim Response As HttpWebResponse = Request.GetResponse()
DataStream = Response.GetResponseStream()
Dim reader As New StreamReader(DataStream)
Dim ServerResponse As String = reader.ReadToEnd()
reader.Close()
DataStream.Close()
Response.Close()
'My.Computer.FileSystem.WriteAllText(AccountPfad & "\bla.html", ServerResponse, 1)
Return ServerResponse
End Function
Private Function p_POST(ByVal Url As String, ByVal s_Post As String, ByVal logincookie As CookieContainer)
Dim Request As HttpWebRequest = CType(WebRequest.Create(Url), HttpWebRequest)
Dim tempcookie As New CookieContainer
Request.Method = "POST"
Request.ContentType = "application/x-www-form-urlencoded"
Request.UserAgent = " Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0"
Request.Referer = "http://uni101.ogame.de/game/index.php?page=resources"
Request.CookieContainer = logincookie
Dim Post As String = s_Post
Dim byteArray() As Byte = Encoding.UTF8.GetBytes(Post)
Request.ContentLength = byteArray.Length
Dim DataStream As Stream = Request.GetRequestStream()
DataStream.Write(byteArray, 0, byteArray.Length)
DataStream.Close()
Dim Response As HttpWebResponse = Request.GetResponse()
DataStream = Response.GetResponseStream()
Dim reader As New StreamReader(DataStream)
Dim ServerResponse As String = reader.ReadToEnd()
reader.Close()
DataStream.Close()
Response.Close()
My.Computer.FileSystem.WriteAllText(AccountPfad & "\bla.html", ServerResponse, 1)
Return tempcookie
End Function
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim s_fbresponse As String = WebRPOST("http://www.facebook.com/", "", bla)
Dim s_jns As String = GetBetween(s_fbresponse, "&time=", "&new_audio_default=")
Dim s_lsd As String = GetBetween(s_fbresponse, "type=""hidden"" name=""lsd"" value=""", """ autocomplete=")
Dim s_rnd As String = GetBetween(s_fbresponse, "name=""lgnrnd"" value=""", """ /><input type=")
Dim c_fblogin2 As CookieContainer = p_POST("http://www.facebook.com/login.php?login_attempt=1", "lsd=" & s_lsd & "&email=*****%40gmx.de&pass=****&default_persistent=0&charset_test=%E2%82%AC%2C%C2%B4%2C%E2%82%AC%2C%C2%B4%2C%E6%B0%B4%2C%D0%94%2C%D0%84&timezone=-60&lgnrnd=" & s_rnd & "&lgnjs=" & s_jns & "&locale=de_DE", logincookie)
Dim s_fbstartpage As String = WebRPOST("http://www.facebook.com/", "", c_fblogin2)
Dim s_fbCLBots As String = WebRPOST("http://www.facebook.com/CLBots", "", c_fblogin2)
End Sub
Mit der gleichen func kann ich mich bei OGame einloggen was ja auch cookies braucht. Ich weiß nicht warum er jz sagt, dasss cookies erfoderlich sind. Ich gehe über Http nicht über HTTPs...
MfG Ludder213
|
|
|
12/05/2012, 22:10
|
#2
|
elite*gold: 1
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
|
Du musst vorher einmal cookies holen, indem du facebook ganz normal aufrufst... dann eben die selben cookiecontainer verwenden für get und post
|
|
|
12/06/2012, 18:57
|
#3
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Das tute ich doch lognicookie wird ja bei WebRPOst gesetzt und den benutze ich bei p_Post als letzten Parameter..?
|
|
|
12/06/2012, 19:15
|
#4
|
elite*gold: 1
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
|
Erstmal nen paar cookies holen von der Fbseite...Das macht du per "GET"
danach kannste deinen post senden
|
|
|
12/06/2012, 19:41
|
#5
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
In etwa so?:
PHP Code:
Private Function _fbcookies(ByVal url As String)
Dim fbcookie As New CookieContainer Dim Request As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest) Request.Method = "GET" Request.ContentType = "application/x-www-form-urlencoded" Request.UserAgent = " Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0" Request.CookieContainer = fbcookie
Return fbcookie
End Function
Dim c_fbpage As CookieContainer = _fbcookies("http://www.facebook.com/")
Dim s_jns As String = GetBetween(s_fbresponse, "&time=", "&new_audio_default=") Dim s_lsd As String = GetBetween(s_fbresponse, "type=""hidden"" name=""lsd"" value=""", """ autocomplete=") Dim s_rnd As String = GetBetween(s_fbresponse, "name=""lgnrnd"" value=""", """ /><input type=")
Dim c_fblogin2 As CookieContainer = p_POST("http://www.facebook.com/login.php?login_attempt=1", "lsd=" & s_lsd & "&email=****&pass=****&default_persistent=0&charset_test=%E2%82%AC%2C%C2%B4%2C%E2%82%AC%2C%C2%B4%2C%E6%B0%B4%2C%D0%94%2C%D0%84&timezone=-60&lgnrnd=" & s_rnd & "&lgnjs=" & s_jns & "&locale=de_DE", c_fbpage)
Dim s_fbstartpage As String = WebRPOST("http://www.facebook.com/", "", c_fbpage)
Dim s_fbCLBots As String = WebRPOST("http://www.facebook.com/CLBots", "", c_fbpage )
|
|
|
12/06/2012, 22:36
|
#6
|
elite*gold: 1
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
|
Ne^^
Einen cookiecontainer global deklarieren
Nen GET nach FB mit Angabe des cookiecontainers
Den POST senden mit dem SELBEN cookiecontainer
|
|
|
12/07/2012, 13:29
|
#7
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Hmm...so? Ich hab fblogincookie global deklariert und bei meinen funcs benutzt
PHP Code:
Dim fblogincookie As CookieContainer
Private Function WebRPOST(ByVal Url As String, ByVal post As String, ByVal tempcookie As CookieContainer)
Dim Request As HttpWebRequest = CType(WebRequest.Create(Url), HttpWebRequest)
Request.Method = "POST"
Request.ContentType = "application/x-www-form-urlencoded"
Request.UserAgent = " Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0"
Request.CookieContainer = logincookie
Dim byteArray() As Byte = Encoding.UTF8.GetBytes(post)
Request.ContentLength = byteArray.Length
Dim DataStream As Stream = Request.GetRequestStream()
DataStream.Write(byteArray, 0, byteArray.Length)
DataStream.Close()
Dim Response As HttpWebResponse = Request.GetResponse()
DataStream = Response.GetResponseStream()
Dim reader As New StreamReader(DataStream)
Dim ServerResponse As String = reader.ReadToEnd()
reader.Close()
DataStream.Close()
Response.Close()
'My.Computer.FileSystem.WriteAllText(AccountPfad & "\bla.html", ServerResponse, 1)
Return ServerResponse
End Function
Private Function p_POST(ByVal Url As String, ByVal s_Post As String, ByVal logincookie As CookieContainer)
Dim Request As HttpWebRequest = CType(WebRequest.Create(Url), HttpWebRequest)
Dim tempcookie As New CookieContainer
Request.Method = "POST"
Request.ContentType = "application/x-www-form-urlencoded"
Request.UserAgent = " Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0"
Request.Referer = "http://uni101.ogame.de/game/index.php?page=resources"
Request.CookieContainer = logincookie
Dim Post As String = s_Post
Dim byteArray() As Byte = Encoding.UTF8.GetBytes(Post)
Request.ContentLength = byteArray.Length
Dim DataStream As Stream = Request.GetRequestStream()
DataStream.Write(byteArray, 0, byteArray.Length)
DataStream.Close()
Dim Response As HttpWebResponse = Request.GetResponse()
DataStream = Response.GetResponseStream()
Dim reader As New StreamReader(DataStream)
Dim ServerResponse As String = reader.ReadToEnd()
reader.Close()
DataStream.Close()
Response.Close()
My.Computer.FileSystem.WriteAllText(AccountPfad & "\bla.html", ServerResponse, 1)
Return tempcookie
End Function
Private Function _fbcookies(ByVal url As String)
Dim Request As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
Request.Method = "GET"
Request.ContentType = "application/x-www-form-urlencoded"
Request.UserAgent = " Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0"
Request.CookieContainer = fblogincookie
End Function
Private Sub PictureBox12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox12.Click
Dim s_fbresponse As String = WebRPOST("http://www.facebook.com/", "", bla)
Dim c_fbpage As CookieContainer = _fbcookies("http://www.facebook.com/")
Dim s_jns As String = GetBetween(s_fbresponse, "&time=", "&new_audio_default=")
Dim s_lsd As String = GetBetween(s_fbresponse, "type=""hidden"" name=""lsd"" value=""", """ autocomplete=")
Dim s_rnd As String = GetBetween(s_fbresponse, "name=""lgnrnd"" value=""", """ /><input type=")
Dim c_fblogin2 As CookieContainer = p_POST("http://www.facebook.com/login.php?login_attempt=1", "lsd=" & s_lsd & "&email=****&pass=***&default_persistent=0&charset_test=%E2%82%AC%2C%C2%B4%2C%E2%82%AC%2C%C2%B4%2C%E6%B0%B4%2C%D0%94%2C%D0%84&timezone=-60&lgnrnd=" & s_rnd & "&lgnjs=" & s_jns & "&locale=de_DE", fblogincookie)
Dim s_fbstartpage As String = WebRPOST("http://www.facebook.com/", "", fblogincookie)
Dim s_fbCLBots As String = WebRPOST("http://www.facebook.com/CLBots", "", fblogincookie)
End Sub
|
|
|
12/07/2012, 13:58
|
#8
|
elite*gold: 1
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
|
Nein...
Ich stelle dir wenn ich Zuhause bin mal etwas hier rein...
Dim bläh as cookiecontainer = HTTP...
Das heißt, er setz den gesamte quelltext der Seite als Cookie, also kann das nicht gehen
|
|
|
12/07/2012, 14:10
|
#9
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
PHP Code:
Option Strict On Option Explicit On
Imports System.IO Imports System.Net Imports System.Text
//login With New Http Dim html As String = .GetResponse("https://www.facebook.com/login.php?login_attempt=1")
Dim sb As New StringBuilder sb.Append("lsd=" & html.Substring(html.IndexOf("lsd")).Split(""""c)(2)) sb.Append("&display=") sb.Append("&legacy_return=1") sb.Append("&return_session=0") sb.Append("&trynum=1") sb.Append("&charset_test=" & html.Substring(html.IndexOf("charset_test")).Split(""""c)(2)) sb.Append("&timezone=-60") sb.Append("&lgnrnd=" & html.Substring(html.IndexOf("lgnrnd")).Split(""""c)(2)) sb.Append("&lgnjs=" & html.Substring(html.IndexOf("lgnjs")).Split(""""c)(4)) sb.Append("&email=EMAIL") sb.Append("&pass=PASSWORT") sb.Append("&persistent=1") sb.Append("&default_persistent=1")
html = .GetResponse("https://www.facebook.com/login.php?login_attempt=1", sb.ToString) End With
Public Class Http Dim cookieCon As New CookieContainer Dim request As HttpWebRequest Dim response As HttpWebResponse
Public Function GetResponse(ByVal url As String) As String request = CType(HttpWebRequest.Create(url), HttpWebRequest) request.CookieContainer = cookieCon response = CType(request.GetResponse(), HttpWebResponse)
Return New StreamReader(response.GetResponseStream()).ReadToEnd() End Function
Public Function GetResponse(ByVal url As String, ByVal post As String) As String request = CType(HttpWebRequest.Create(url), HttpWebRequest) request.Method = "POST" request.CookieContainer = cookieCon request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0" request.ContentType = "application/x-www-form-urlencoded"
Dim byteArr() As Byte = Encoding.Default.GetBytes(post) request.ContentLength = byteArr.Length
Dim dataStream As Stream = request.GetRequestStream() dataStream.Write(byteArr, 0, byteArr.Length)
response = CType(request.GetResponse(), HttpWebResponse)
Return New StreamReader(response.GetResponseStream()).ReadToEnd() End Function End Class
jz mal auf die schnelle gemacht mit der klasse aus dem httprequest tutorial
|
|
|
All times are GMT +1. The time now is 08:37.
|
|