我正在尝试使用带有后端 asp.net c# 的 Angular 网站读取其他网站数据,其他网站在登录后需要读取数据进行以下登录身份验证。
我有以下真实页面
- 第一页我必须输入用户名
- 第二页我必须输入密码然后点击登录
- 登录后会跳转至首页,首页内容为人员详细信息
我需要在我的 Angular 网站中显示第三点页面信息名称、手机和地址。
第三页网址将如下所示:www.xyz.com/1
url中上面1位是信息id,根据第三页的id信息会出现
我发现了一些使用 C# 的代码,但如何管理登录
System.Net.WebClient wc = new System.Net.WebClient();
byte[] raw = wc.DownloadData("http://www.yoursite.com/resource/file.htm");
string webData = System.Text.Encoding.UTF8.GetString(raw);
还有其他方式
System.Net.WebClient wc = new System.Net.WebClient();
string webData =
wc.DownloadString("http://www.yoursite.com/resource/file.htm");
System.Net.WebClient wc = new System.Net.WebClient();
最佳答案
我建议检查您想要获取数据的网站是否有公共(public)API(调用起来更容易,并且该网站有可能有“禁止机器人”政策,您的IP可能会被禁止)
话虽这么说,如果你想自动登录网站然后获取数据,你需要使用像 Selenium 这样的东西(不是这方面的专家,但我可以给你一个文档链接)
https://www.javatpoint.com/selenium-csharp
Selenium 通常用于自动化测试,但它允许您模拟用户与站点的交互(查找字段输入并键入值)。
不需要获取信息,我过去使用过 HtmlAgilityPack,它是一个 C# 库,允许您在网站中查找特定元素(使用称为 XPath 的东西,很容易学习)。
https://html-agility-pack.net/
他们有一些很棒的文档,当您从网站获得结果后,您可以使用可以从 Angular 应用程序使用的 API 来公开它。
关于c# - 如何使用后端 asp.net c# 的 Angular 网站读取其他网站数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74223753/