开发者

VB.NET HttpWebRequest POST

Hey whhat's up. I've been looking at some example source codes but I can't quite figure it out. I'd like to send a POST request to login to a website with my account. For an example, how would I login 开发者_高级运维to this website using HttpWebRequest..

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

It's for an application I'm building for my clan where you have to have an account on the forum to open the application, so if the login works it opens.


There's a decent tutorial for HTTPWebRequest POST methods and a login example here: http://howtostartprogramming.com/vb-net/vb-net-tutorial-51-httpwebrequest-post-method/


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())


Why not leverage this bit of code to simplify your effort: http://joel.net/code/easyhttp.aspx

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜