gpt4 book ai didi

javascript - 使用 C# 从 Chrome 中现有打开的选项卡中检索值

转载 作者:行者123 更新时间:2023-12-03 08:08:14 24 4
gpt4 key购买 nike

我正在尝试使用 c# .net 构建一个控制台应用程序。我需要一个特定的功能,即从外部网站检索值。问题是我们需要登录该网站。我可以在 Chrome 中使用 process.start 打开我需要的页面,并用我需要的值登录。但是问题是从页面检索值时。我想过获取源代码,但我尝试的每一种方法都没有进行 session ,因此我只得到错误页面源代码,因为我只是输入 URL,而不访问已打开的选项卡?有没有其他方法可以使用 JavaScript 或 C#?

最佳答案

使用WebClient API登录并下载页面数据。您需要使其能够感知 cookie 才能维持 session 。您需要添加对 System.Web Assembly 的引用才能在控制台应用程序中使用此 API。

public class CookieAwareWebClient : WebClient
{
public CookieAwareWebClient()
{
CookieContainer = new CookieContainer();
}
public CookieContainer CookieContainer { get; private set; }

protected override WebRequest GetWebRequest(Uri address)
{
var request = (HttpWebRequest)base.GetWebRequest(address);
request.CookieContainer = CookieContainer;
return request;
}
}

现在使用它就像

using (var client = new CookieAwareWebClient())
{
var values = new NameValueCollection
{
{ "username", "john" },
{ "password", "secret" },
};
client.UploadValues("http://domain.loc/logon.aspx", values);

// If the previous call succeeded we now have a valid authentication cookie
// so we could download the protected page
string result = client.DownloadString("http://domain.loc/testpage.aspx");
}

这段代码是我借用的WebClient accessing page with credentials

关于javascript - 使用 C# 从 Chrome 中现有打开的选项卡中检索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34273139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com