使用c#桌面应用程序登录网站

本文关键字:登录 网站 应用程序 桌面 使用 | 更新日期: 2023-09-27 18:19:58

我正在尝试登录网站"https://my.freecycle.org/"我尝试了各种方法,包括这种stackoverflow登录网站,通过C#但运气不好,它似乎不是一种标准形式。

<form method="post" class="cols_2" action="https://my.freecycle.org/login" id="loginform" accept-charset="utf-8"><fieldset>
<input type="hidden" name="referer" value="">
<label for="username">Username (or email address):</label>
<input type="text" name="username" id="username"><br>
<label for="pass">Password:</label>
<input type="password" name="pass" id="pass"><br>
<input type="submit" value="Log in" class="button defaultButton vgap ui-button ui-widget ui-state-default ui-corner-all" role="button" aria-disabled="false">

我真的很感谢你的帮助,下面是我尝试过的代码。

private void button1_Click(object sender, EventArgs e)
    {
        CookieAwareWebClient client = new CookieAwareWebClient();
        client.BaseAddress = @"https://my.freecycle.org/";
        NameValueCollection loginData = new NameValueCollection();
        loginData.Add("username", @"myemail@gmail.com");
        loginData.Add("pass", "mypassword");
        client.UploadValues("login", "POST", loginData);
        //Now you are logged in and can request pages    
        string htmlSource = client.DownloadString(client.BaseAddress);
        textBox1.Text = htmlSource;
    }
public class CookieAwareWebClient : WebClient
{
    private CookieContainer cookie = new CookieContainer();
    protected override WebRequest GetWebRequest(Uri address)
    {
        WebRequest request = base.GetWebRequest(address);
        if (request is HttpWebRequest)
        {
            (request as HttpWebRequest).CookieContainer = cookie;
        }
        return request;
    }
}

使用c#桌面应用程序登录网站

如果我浪费了任何人的时间来研究这件事,我很抱歉。在想为什么没有错误之后,当我想到上面的评论问题时,我意识到这句话。

string htmlSource = client.DownloadString(client.BaseAddress);

是从最初的登录页面获取源代码,而不是我登录后想要的页面。

当我输入正确的登陆网址时,我会得到我期望的结果。

string htmlSource = client.DownloadString(@"https://my.freecycle.org/page/i/need");