如何在VB.NET中使用WebRequest登录网站 [英] How to Login to website with WebRequest in VB.NET

查看:158
本文介绍了如何在VB.NET中使用WebRequest登录网站的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

伙计们

例如,我要制作一个用于登录到此站点的应用程序

如何通过webrequest进行登录?

我的代码:

导入System.Net
导入System.Text
导入System.IO

公开课表格1

    昏暗的logincookie作为CookieContainer

    私有子Button1_Click(ByVal发送者作为System.Object,ByVal e作为System.EventArgs)处理Button1.Click

        Dim postData As String ="csrf_token_name = 036bf35c4616ab5fc08b9e144296f32f& return = http%3A%2F%2Fwzone.ir%2Fnews&login_username =" & TextBox1.Text& & login_password =" & TextBox2.Text& & login_submit =%D9%88%D8%B1%D9%88%D8%AF +%D8%A8%D9%87 +%D8%B3%D8%A7%D9%8A%D8%AA:未定义"
        Dim tempCookies作为新的Cookie容器
        昏暗编码作为新的UTF8Encoding
        Dim byteData As Byte()= encoding.GetBytes(postData)

        昏暗的postReq为HttpWebRequest = DirectCast(WebRequest.Create("http://wzone.ir/login"),HttpWebRequest)
        postReq.Method ="POST";
        postReq.KeepAlive = True
        postReq.CookieContainer = tempCookies
        postReq.ContentType ="application/x-www-form-urlencoded";
        postReq.Referer ="http://wzone.ir/login";
        postReq.UserAgent ="Mozilla/5.0(Windows; U; Windows NT 6.1; ru; rv:1.9.2.3)Gecko/20100401 Firefox/4.0(.NET CLR 3.5.30729)"
        postReq.ContentLength = byteData.Length

        昏暗的postreqstream为Stream = postReq.GetRequestStream()
        postreqstream.Write(byteData,0,byteData.Length)
        postreqstream.Close()
        昏暗的后响应为HttpWebResponse

        postresponse = DirectCast(postReq.GetResponse(),HttpWebResponse)
        tempCookies.Add(postresponse.Cookies)
        logincookie = tempCookies
        将Dim postreqreader设置为New StreamReader(postresponse.GetResponseStream())

        将页面调暗为String = postreqreader.ReadToEnd

        RichTextBox1.Text =页面




    结束子







    私有子Button2_Click(ByVal发送者作为System.Object,ByVal e作为System.EventArgs)处理Button2.Click
        WebBrowser1.DocumentText = RichTextBox1.Text
    结束子
末级

标题站点:

 http://wzone.ir/login

POST/登录HTTP/1.1
主机:wzone.ir
用户代理:Mozilla/5.0(Windows NT 10.0; Win64; x64; rv:53.0)Gecko/20100101 Firefox/53.0
接受:text/html,application/xhtml + xml,application/xml; q = 0.9,*/*; q = 0.8
接受语言:en-US,en; q = 0.5
接受编码:gzip,放气
内容类型:application/x-www-form-urlencoded
内容长度:191
引荐来源:http://wzone.ir/login

Cookie:csrf_cookie_name = 036bf35c4616ab5fc08b9e144296f32f; PHPSESSID = uf0cricq4dafuakbjfckbckae1; jv_enter_ts_ZDABLJn8Gu = 1494166323361; jv_visits_count_ZDABLJn8Gu = 1; jv_pages_count_ZDABLJn8Gu = 8; cisession = RqIjLjYgPPOsmJ9MxEu3TJjwPJKsUCq9MaHOnM%2FUSqdFbNYaYtWEyrnWNdftm5cdtMGErpslaNmXQe9bgBbQIeq%2FP%2F3CFbdlUHStmo%2BQO8Gjo5bTHYfucmmEofmg8jzPLTcQpqz62ohly0D8VK7UfXUSFe0gCumiH1wvKgYe6l4nYlbkmMDMpKAPrgw6zLSGTmoUo8ngrBhXgaJMW9rDQkQpNICRKol%2BtUmGvkHhDMS0WxmJwHw7oam%2FIdDLkL9BYRh8lpKj%2FR0r0Zxwz4h4%2FNi9EC7F3JfVlJ66Nn%2FCtTYF9Xc5cQJMwUmQFIY7gAYYKAgfo0tdHGDrYB6ORUkb6w9ofimHtuf1%2BP%2BUkD9mYzeUTwhgbLwGqGbPp%2F%2FZgD6aGQmWZtakXeY4lUDIHzuhfhwryS6FOfH0RkOJmYjzmRw%3D807afd688bbf3c1db916489d5a235a7e0b6993a3
连接:保持活动状态
不安全升级请求:1

csrf_token_name = 036bf35c4616ab5fc08b9e144296f32f& login_username = test& login_password = test2& login_remember = on& login_submit =%D9%88%D8%B1%D9%88%D8%AF + %%%% 8 %% A7%DB%8C%D8%AA%21:未定义

HTTP/1.1 302临时移动
日期:2017年5月7日,星期日,格林尼治标准时间14:43:52
伺服器:Apache/2
X-Powered-By:PHP/5.4.44
Set-Cookie:csrf_cookie_name = 036bf35c4616ab5fc08b9e144296f32f; expires =星期日,2017年5月7日16:43:52 GMT;路径=/
设置Cookie:cisession = QZPyHYuUVuIRnv7UGHEmXw0Liqdile8GYlsO0h6QhrLiUrZpU%2BPpGCXne%2BxQyl%2F01YHDdrVZ%2Bqmmcaf5dQ%2BaBi7rGLh9If8kGSZ1%2F0fgd%2FFnMnuzrsJOTQGwLBthz1S1oMFCXr4XjFvMriIC4qjlMcVNf5OxOuNB%2FbbAR9oX%2FDVYfEfwjmOrinsSt9Njir2h8%2Bh1EXd6x4vq8%2BbQzLo5xWUqIisDFNDTxzIS53RVJIjgAN99U6SUOnZ8QIcK3UQNvyW26yAn8KWzceGGhYiyhRumDTdVwErVjhPa3TJpc2EUCrLGLGAKqhXQHFSSb2EPsH7hiONQ3qLWNtYr%2F7BFKf9OKCJ0xGqihuvR%2FO6k4rRY%2BD8fYQpLqrg6FdN9tn7PmBLrYcfpknPrTXFXV9X339Zr4Ql0ZD%2FB3Yw8wUrMMUmbyzARGgigDx%2F9z7JxsZ02zZJrH8pTLSyAGjq0u6w1sBL4gEGZ%2B95kgmn62WLdODWe5938omyyRqS8nD%2Bh42mf9OQ72wjRibNMcOWI9Dwj3kNMpliEJABW1jQTLd2h1W1%2FkARCwRaWeVd1rnbUVMUlUI7ItpSuCV%2FRIuCW5VWAsTUo0eHnQ8Ca2RM2QO%2BC1nXf3fRmA2ZwvujGoxGOyki3WrV81Yc471gcJTCHZqKI5% 2Fwgz1xApVw%2FYgIEad5JYHXO5NjmY96bdOk6DUWWlhuPJkQz5MVgVjrFtFuDlHLwaF4tx7dvslI4URc55TC8pBfHsCtzZn0ynKIgJgEGGmdUg7tnXN7Bjkf%2FprE8pC78%2BHXn4i%2FWYBJEUyrNnYGc2vQ%2FKZZwnCB9sXe7J2r8q7Kbnj49ggzJMmCdrlBSZ%2Flw7%2BonDHGz2F1OW%2BQIoLsyGZfucfVx3ClOT7JZE0IGsfEc3Xl0itFXRMh0Rk%2BLx0wg dLS0aoiyfVY%2BLY%2FoKeufvE8fji%2FqqhmY7BIXkD1Sd6AESNfmx09NZDFIuaccu0saWHtgJuMcrK709qu7J5BCGiHgOUUF2DNgtWF14jTUCup%2F3a4ea1277b913d880; expires =星期日,2017年5月7日19:43:52 GMT;路径=/
Set-Cookie:fcms_username = test; expires =星期一,2018年5月7日14:43:52 GMT;路径=/
Set-Cookie:fcms_password = bd65f4ad1e7620c0aec54badf68ab8c0b5b2196d; expires =星期一,2018年5月7日14:43:52 GMT;路径=/
设置Cookie:cisession = cOIR6KTmV%2FOL%2BC2uesJB1d40Dw9YOugNcFRUyFYs7ReXceZtWoThyZW57SMABKB58H45X60SMz8D46v6T7lX2eGFrF7J%2BGKH4W1RlI2iVtoL6iX8LeZ%2Bao%2BaojC5SaTvOFnm0Q3a1fNldggoOEhFVyrfSrG2i2FHwa3bx4BTZpYzkzEw2Ah5SfjOkstHmGQiw4%2FGpu%2FPgjLNGFpqLxMIz7LZXSgPYtzC%2Fzd1Q1wMtC0fa%2FqMgB8McRNluancufnA3HSaaG%2BoHfvTOvRI3X​​s5b2QUdVoSrJpDcqGPGl0bPtwoZsnADJP2nrFMlR78yWsy66%2FJnE9%2FXLxQ%2BOIMsZIK7ZLZ0L%2F0IhNdXYCzIWOjPGfNClM%2FACQCWxGKmGbUXW03w5HgSA8jEqlOmzsJv1pDkiQGEkX1mYFPviAjMjbo%2BUQJO5DJcspf8OitIGQVTd94s370HCWJIiBsR%2FQ6pgpB3Ba3uk3CsIowYmc814fR3qh9Jf5vGdH6a4FgCWAiNkZxse​​YjNauA%2FWFUQ5rmSnngekWWG91L9%2F7rI%2BwueI1ag9frGkkpniPIoM7oxFnS0oNTbTs5TLQv4yi%2BBWK2Gfn1VCfmd% 2BkOMWW2zvDGYWN4ZHxBBfm4zte%2BR82Trk6D1r549s4FvQVGKJ2aTmSayjdLcvq0bJS6qFkiT8PLy0oZqRcIilcDHreGoua2JcTmxpZp6%2F406KKBS6jDP1dBOM0MKHd%2BE5RldFnQ1DwPt8va4cnhQzLPqKJmY9FBNKuIom%2B7h4A69JFJy3SEnzRFQFhqFFklfsOw%2F%2BXUwGpB9tgkbvsIlFU5dCGjvS259R21w86Rbcl9kaajuWv%2FIZrkbINxsw27Ceclhr%2F8sm3ZdeUK0lgKTg0OPjMo0ONMZLR5OZ2kSHemPyOhaXPP63kiOmUvsk jbWlmj81%2FgNnOLUIVazMGv%2FwmzhBAHCKmtNUX3KUaUxzpj%2B6ioUCo6o0vLLSw6E3wSaP6pciq5q7NnQFh07FWYbvabmhHkcZy47zczz0pbjttW4zdbqkQXC4y8XvzaB57oaQkG76ChbxJr3itrFJ8%3D01c82cde26112dade1ec52175e9042b025a0d7e7; expires =星期日,2017年5月7日19:43:52 GMT;路径=/
位置:http://wzforum.ir/auth.php?action = login& uid = 16399& loginkey = 4ODVNiZDTAZ4EwTWITDMmA1FjjTN2jZMhiY4ZGDTjZO32zWYNM& remember = 1& return = http%3A%2F%2Fwzone.ir%
快取控制:max-age = 0
过期:格林尼治标准时间2017年5月7日星期日14:43:52
兼容X-UA:IE = Edge,chrome = 1
变体:用户代理
内容长度:0
保持活动状态:超时= 2,最大值= 100
连接:保持活动
内容类型:text/html;字符集= utf-8

解决方案

JavadR,

根据您的描述,我发现这篇文章可能对您有所帮助,请参阅:

http://tech.reboot.pro/showthread.php?tid=61

最好的问候,

Cherry Bu


hi guys

i want make a app for login to this site http://wzone.ir/login for example

how to make a login via webrequest?

My code:

Imports System.Net
Imports System.Text
Imports System.IO

Public Class Form1

    Dim logincookie As CookieContainer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim postData As String = "csrf_token_name=036bf35c4616ab5fc08b9e144296f32f&return=http%3A%2F%2Fwzone.ir%2Fnews&login_username=" & TextBox1.Text & "&login_password=" & TextBox2.Text & "&login_submit=%D9%88%D8%B1%D9%88%D8%AF+%D8%A8%D9%87+%D8%B3%D8%A7%D9%8A%D8%AA: undefined"
        Dim tempCookies As New CookieContainer
        Dim encoding As New UTF8Encoding
        Dim byteData As Byte() = encoding.GetBytes(postData)

        Dim postReq As HttpWebRequest = DirectCast(WebRequest.Create("http://wzone.ir/login"), HttpWebRequest)
        postReq.Method = "POST"
        postReq.KeepAlive = True
        postReq.CookieContainer = tempCookies
        postReq.ContentType = "application/x-www-form-urlencoded"
        postReq.Referer = "http://wzone.ir/login"
        postReq.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)"
        postReq.ContentLength = byteData.Length

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

        postresponse = DirectCast(postReq.GetResponse(), HttpWebResponse)
        tempCookies.Add(postresponse.Cookies)
        logincookie = tempCookies
        Dim postreqreader As New StreamReader(postresponse.GetResponseStream())

        Dim thepage As String = postreqreader.ReadToEnd

        RichTextBox1.Text = thepage




    End Sub







    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        WebBrowser1.DocumentText = RichTextBox1.Text
    End Sub
End Class

Header Site:

http://wzone.ir/login

POST /login HTTP/1.1
Host: wzone.ir
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 191
Referer: http://wzone.ir/login

Cookie: csrf_cookie_name=036bf35c4616ab5fc08b9e144296f32f; PHPSESSID=uf0cricq4dafuakbjfckbckae1; jv_enter_ts_ZDABLJn8Gu=1494166323361; jv_visits_count_ZDABLJn8Gu=1; jv_pages_count_ZDABLJn8Gu=8; cisession=RqIjLjYgPPOsmJ9MxEu3TJjwPJKsUCq9MaHOnM%2FUSqdFbNYaYtWEyrnWNdftm5cdtMGErpslaNmXQe9bgBbQIeq%2Fp%2F3CFbdlUHStmo%2BQO8Gjo5bTHYfucmmEofmg8jzPLTcQpqz62ohly0D8VK7UfXUSFe0gCumiH1wvKgYe6l4nYlbkmMDMpKAPrgw6zLSGTmoUo8ngrBhXgaJMW9rDQkQpNICRKol%2BtUmGvkHhDMS0WxmJwHw7oam%2FIdDLkL9BYRh8lpKj%2FR0r0Zxwz4h4%2FNi9EC7F3JfVlJ66Nn%2FCtTYF9Xc5cQJMwUmQFIY7gAYYKAgfo0tdHGDrYB6ORUkb6w9ofimHtuf1%2Bp%2BUkD9mYzeUTwhgbLwGqGbPp%2F%2FZgD6aGQmWZtakXeY4lUDIHzuhfhwryS6FOfH0RkOJmYjzmRw%3D807afd688bbf3c1db916489d5a235a7e0b6993a3
Connection: keep-alive
Upgrade-Insecure-Requests: 1

csrf_token_name=036bf35c4616ab5fc08b9e144296f32f&login_username=test&login_password=test2&login_remember=on&login_submit=%D9%88%D8%B1%D9%88%D8%AF+%D8%A8%D9%87+%D8%B3%D8%A7%DB%8C%D8%AA%21: undefined

HTTP/1.1 302 Moved Temporarily
Date: Sun, 07 May 2017 14:43:52 GMT
Server: Apache/2
X-Powered-By: PHP/5.4.44
Set-Cookie: csrf_cookie_name=036bf35c4616ab5fc08b9e144296f32f; expires=Sun, 07-May-2017 16:43:52 GMT; path=/
Set-Cookie: cisession=QZPyHYuUVuIRnv7UGHEmXw0Liqdile8GYlsO0h6QhrLiUrZpU%2BPpGCXne%2BxQyl%2F01YHDdrVZ%2Bqmmcaf5dQ%2BaBi7rGLh9If8kGSZ1%2F0fgd%2FFnMnuzrsJOTQGwLBthz1S1oMFCXr4XjFvMriIC4qjlMcVNf5OxOuNB%2FbbAR9oX%2FDVYfEfwjmOrinsSt9Njir2h8%2Bh1EXd6x4vq8%2BbQzLo5xWUqIisDFNDTxzIS53RVJIjgAN99U6SUOnZ8QIcK3UQNvyW26yAn8KWzceGGhYiyhRumDTdVwErVjhPa3TJpc2EUCrLGLGAKqhXQHFSSb2EPsH7hiONQ3qLWNtYr%2F7BFKf9OKCJ0xGqihuvR%2FO6k4rRY%2BD8fYQpLqrg6FdN9tn7PmBLrYcfpknPrTXFXV9X339Zr4Ql0ZD%2FB3Yw8wUrMMUmbyzARGgigDx%2F9z7JxsZ02zZJrH8pTLSyAGjq0u6w1sBL4gEGZ%2B95kgmn62WLdODWe5938omyyRqS8nD%2Bh42mf9OQ72wjRibNMcOWI9Dwj3kNMpliEJABW1jQTLd2h1W1%2FkARCwRaWeVd1rnbUVMUlUI7ItpSuCV%2FRIuCW5VWAsTUo0eHnQ8Ca2RM2QO%2BC1nXf3fRmA2ZwvujGoxGOyki3WrV81Yc471gcJTCHZqKI5%2Fwgz1xApVw%2FYgIEad5JYHXO5NjmY96bdOk6DUWWlhuPJkQz5MVgVjrFtFuDlHLwaF4tx7dvslI4URc55TC8pBfHsCtzZn0ynKIgJgEGGmdUg7tnXN7Bjkf%2FprE8pC78%2BHXn4i%2FWYBJEUyrNnYGc2vQ%2FKZZwnCB9sXe7J2r8q7Kbnj49ggzJMmCdrlBSZ%2Flw7%2BonDHGz2F1OW%2BQIoLsyGZfucfVx3ClOT7JZE0IGsfEc3Xl0itFXRMh0Rk%2BLx0wgdLS0aoiyfVY%2BLY%2FoKeufvE8fji%2FqqhmY7BIXkD1Sd6AESNfmx09NZDFIuaccu0saWHtgJuMcrK709qu7J5BCGiHgOUUF2DNgtWF14jTUCup%2F3a4ea1277b913d5322766aae880d7d0007023e29; expires=Sun, 07-May-2017 19:43:52 GMT; path=/
Set-Cookie: fcms_username=test; expires=Mon, 07-May-2018 14:43:52 GMT; path=/
Set-Cookie: fcms_password=bd65f4ad1e7620c0aec54badf68ab8c0b5b2196d; expires=Mon, 07-May-2018 14:43:52 GMT; path=/
Set-Cookie: cisession=cOIR6KTmV%2FOL%2BC2uesJB1d40Dw9YOugNcFRUyFYs7ReXceZtWoThyZW57SMABKB58H45X60SMz8D46v6T7lX2eGFrF7J%2BGKH4W1RlI2iVtoL6iX8LeZ%2Bao%2BaojC5SaTvOFnm0Q3a1fNldggoOEhFVyrfSrG2i2FHwa3bx4BTZpYzkzEw2Ah5SfjOkstHmGQiw4%2FGpu%2FPgjLNGFpqLxMIz7LZXSgPYtzC%2Fzd1Q1wMtC0fa%2FqMgB8McRNluancufnA3HSaaG%2BoHfvTOvRI3Xs5b2QUdVoSrJpDcqGPGl0bPtwoZsnADJP2nrFMlR78yWsy66%2FJnE9%2FXLxQ%2BOIMsZIK7ZLZ0L%2F0IhNdXYCzIWOjPGfNClM%2FACQCWxGKmGbUXW03w5HgSA8jEqlOmzsJv1pDkiQGEkX1mYFPviAjMjbo%2BUQJO5DJcspf8OitIGQVTd94s370HCWJIiBsR%2FQ6pgpB3Ba3uk3CsIowYmc814fR3qh9Jf5vGdH6a4FgCWAiNkZxseYjNauA%2FWFUQ5rmSnngekWWG91L9%2F7rI%2BwueI1ag9frGkkpniPIoM7oxFnS0oNTbTs5TLQv4yi%2BBWK2Gfn1VCfmd%2BkOMWW2zvDGYWN4ZHxBBfm4zte%2BR82Trk6D1r549s4FvQVGKJ2aTmSayjdLcvq0bJS6qFkiT8PLy0oZqRcIilcDHreGoua2JcTmxpZp6%2F406KKBS6jDP1dBOM0MKHd%2BE5RldFnQ1DwPt8va4cnhQzLPqKJmY9FBNKuIom%2B7h4A69JFJy3SEnzRFQFhqFFklfsOw%2F%2BXUwGpB9tgkbvsIlFU5dCGjvS259R21w86Rbcl9kaajuWv%2FIZrkbINxsw27Ceclhr%2F8sm3ZdeUK0lgKTg0OPjMo0ONMZLR5OZ2kSHemPyOhaXPP63kiOmUvskjbWlmj81%2FgNnOLUIVazMGv%2FwmzhBAHCKmtNUX3KUaUxzpj%2B6ioUCo6o0vLLSw6E3wSaP6pciq5q7NnQFh07FWYbvabmhHkcZy47zczz0pbjttW4zdbqkQXC4y8XvzaB57oaQkG76ChbxJr3itrFJ8%3D01c82cde26112dade1ec52175e9042b025a0d7e7; expires=Sun, 07-May-2017 19:43:52 GMT; path=/
Location: http://wzforum.ir/auth.php?action=login&uid=16399&loginkey=4ODVNiZDTAZ4EwTWITDMmA1FjjTN2jZMhiY4ZGDTjZO32zWYNM&remember=1&return=http%3A%2F%2Fwzone.ir%2Fucp
Cache-Control: max-age=0
Expires: Sun, 07 May 2017 14:43:52 GMT
X-UA-Compatible: IE=Edge,chrome=1
Vary: User-Agent
Content-Length: 0
Keep-Alive: timeout=2, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8

解决方案

Hi JavadR,

Based on your description, I find this article that may be helpful to you, please refer to:

http://tech.reboot.pro/showthread.php?tid=61

Best Regards,

Cherry Bu


这篇关于如何在VB.NET中使用WebRequest登录网站的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆