C# 通过c登录网站失败

C# 通过c登录网站失败,c#,authentication,dotnet-httpclient,scraper,C#,Authentication,Dotnet Httpclient,Scraper,我正在尝试登录一个网站进行解析。当程序运行时,它似乎登录到了网站。我可以从小提琴手那里看出这一点。但在程序结束时,即使是状态代码也似乎是200,ı发现自己没有登录 string loginUri = "https://www.sample.com"; string username = "username"; string password = "password"; CookieContainer cc = new CookieContainer(); var handler = new Ht

我正在尝试登录一个网站进行解析。当程序运行时,它似乎登录到了网站。我可以从小提琴手那里看出这一点。但在程序结束时,即使是状态代码也似乎是200,ı发现自己没有登录

string loginUri = "https://www.sample.com";
string username = "username";
string password = "password";
CookieContainer cc = new CookieContainer();
var handler = new HttpClientHandler { CookieContainer = cc };
var request = new HttpRequestMessage(HttpMethod.Post, loginUri);
handler.AllowAutoRedirect = true;
request.Content = new FormUrlEncodedContent(new Dictionary<string, string>
                                            {
                                            { "return_url", "emagaza.php"},
                                            { "user_login", "sampleuser"},
                                            { "password", "sapmplepass"},
                                            { "dispatch[auth.login]", "Giriş yap"}
                                            });
var client = new HttpClient(handler);


var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
我试过这个

         httpWebRequest2.CookieContainer = cc;
        HttpWebResponse response3 = (HttpWebResponse)httpWebRequest2.GetResponse();
        var handler2 = new HttpClientHandler { CookieContainer = cc };
        var request2 = new HttpRequestMessage(HttpMethod.Get, loginUri);
        var response2 = await client.SendAsync(request2);

我不确定我是否理解你的问题是什么。您看到HTTP请求通过ok,然后您尝试执行其他操作,但似乎没有登录?这可能是您要登录的代码的副本。这不是登录后使用网站的代码。这就是失败的代码。张贴一个简单的例子。你是什么意思,任何试图给我们饼干的尝试都失败了?是的,这正是发生的事情。当我尝试在登录网站后读取一些数据时,ı就是无法读取。听起来你好像在做一些网页抓取。。。我建议你看看类似的东西,而不是试图重新发明轮子。当您访问包含javascript API调用的复杂站点时,像这样的简单方法将失败。