c# - 如何使用后端 asp.net c# 的 Angular 网站读取其他网站数据

标签 c# asp.net angular asp.net-mvc

我正在尝试使用带有后端 asp.net c# 的 Angular 网站读取其他网站数据,其他网站在登录后需要读取数据进行以下登录身份验证。

我有以下真实页面

  1. 第一页我必须输入用户名

/image/PgbLo.png

  • 第二页我必须输入密码然后点击登录
  • /image/xAr4E.png

  • 登录后会跳转至首页,首页内容为人员详细信息
  • /image/2I4UX.png

    我需要在我的 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/

    相关文章:

    c# - 在 C# 中调用 ruby​​ 脚本

    c# - 您更喜欢哪种方法签名,为什么?

    c# - ASP.NET - 常见陷阱

    c# - 在 C# 中,如何让一组任务完成后运行一个任务?

    javascript - IIS7.5 下的 SignalR webapp 不适用于来自其他 webapp 的 Firefox 访问(跨域)

    angular - crypto.randomBytes 不是 Angular 函数

    C# 如何让绑定(bind)的 datagridview 的 maskedtextbox 列不包含文字?

    ASP.NET 创建 zip 文件以供下载 : the compressed zipped folder is invalid or corrupted

    angular - 从不同的组件调用函数并传递参数

    angular - 如何修复 ControlValueAccessor 中的 'get value'