2010-08-20 15 views
1

Salut, c'est fini. J'ai regardé quelques exemples de codes source mais je n'arrive pas à le comprendre. Je souhaite envoyer une demande POST pour me connecter à un site Web avec mon compte. Pour un exemple, comment me connecter à ce site Web en utilisant HttpWebRequest.VB.NET HttpWebRequest POST

http://z4.invisionfree.com/cotec/index.php?

C'est pour une application que je construis pour mon clan où vous devez avoir un compte sur le forum pour ouvrir l'application, donc si la connexion fonctionne elle s'ouvre.

Répondre

1

Pourquoi ne pas tirer parti de ce morceau de code pour simplifier vos efforts: http://joel.net/code/easyhttp.aspx

+0

Alors, comment pourrais-je utiliser la classe envoyer une demande de connexion? EasyHttp.Send ("http://z4.invisionfree.com/cotec/index.php?", "Nom d'utilisateur = USER & password = PASS") Juste cela? – peppersock

+0

Vous pourriez oui. Assurez-vous simplement que, quels que soient les champs du formulaire, vous les spécifiez comme vous le montrez. –

2
dim email as string = "your email" 
dim pass as string = "your pass" 

    Dim postReq As HttpWebRequest = DirectCast(WebRequest.Create("https://touch.facebook.com"), HttpWebRequest) 
       postReq.Method = "GET" 
       postReq.KeepAlive = True 
       postReq.CookieContainer = logincookie 
       postReq.ContentType = "application/x-www-form-urlencoded" 
       postReq.UserAgent = "Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1C25 Safari/419.3" 

       Dim postresponse As HttpWebResponse = DirectCast(postReq.GetResponse(), HttpWebResponse) 
       logincookie.Add(postresponse.Cookies) 

       Dim postreqreader As New StreamReader(postresponse.GetResponseStream()) 

       Dim infos As String = postreqreader.ReadToEnd 

       '--------------------------- 

       Dim byteData As Byte() = encoding.GetBytes("lsd=&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&version=1&ajax=0&width=0&pxr=0&gps=0&m_ts=&li=&email=" & email.Replace("@", "%40") & "&pass=" & pass & "&login=Connexion") 

       postReq = DirectCast(WebRequest.Create("https://touch.facebook.com/login.php?refsrc=https%3A%2F%2Ftouch.facebook.com%2F&refid=8"), HttpWebRequest) 
       postReq.Method = "POST" 
       postReq.KeepAlive = True 
       postReq.CookieContainer = logincookie 
       postReq.ContentType = "application/x-www-form-urlencoded" 
       postReq.Referer = "https://touch.facebook.com/" 
       postReq.UserAgent = "Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1C25 Safari/419.3" 
       postReq.ContentLength = byteData.Length 

       Dim postreqstream As Stream = postReq.GetRequestStream() 
       postreqstream.Write(byteData, 0, byteData.Length) 
       postreqstream.Close() 

       postresponse = DirectCast(postReq.GetResponse(), HttpWebResponse) 
       logincookie.Add(postresponse.Cookies) 

       postreqreader = New StreamReader(postresponse.GetResponseStream())