【问题标题】:C# Web Client - Post UserName/Password in a dialogC# Web 客户端 - 在对话框中发布用户名/密码
【发布时间】:2015-04-29 05:44:52
【问题描述】:

我正在尝试使用 C# 来自动化从以下网站下载文件的过程。但是问题是该站点需要登录,该登录以 html 对话框的形式提示。我似乎无法确定以编程方式输入用户名/密码的方法。尝试过发布它们 - 但没有快乐。有什么想法吗?

https://transparency.entsoe.eu/

提前致谢

【问题讨论】:

    标签: c# .net internet-explorer cookies webclient


    【解决方案1】:

    如果是网站,我使用NetworkCredential 完成此操作。设置 Http 请求并添加凭据:

    request.Credentials = new NetworkCredential(Username, Password);
    

    更多阅读:

    https://msdn.microsoft.com/en-us/library/system.net.networkcredential%28v=vs.110%29.aspx

    【讨论】:

      【解决方案2】:

      您应该能够使用 POST 请求登录,然后从服务器获取您是否已登录的响应。我找到了这行代码,请确保按照 POST 中的执行方式执行 POST HTML。

      <form id="login-form" method="POST" action="/j_spring_security_check" novalidate="novalidate">
      

      当然,您必须找到“j_spring_security_check()”函数的位置,以便在未发布到同一 URL 的情况下找到执行 POST 的位置。从我在 HTML 中可以看出,POST 请求的目标 URL 可能存储在一个隐藏字段中:

      <input type="hidden" name="url" id="target-url" value="/dashboard/show">
      

      确保您尝试将您的帖子放到 /dashbord/show

      的相对路径中

      另外,请确保在发出 POST 请求时设置变量。我在 HTML 中注意到您必须设置以下文字变量:“password”和“email”。

      我会帮你找到函数在哪里,但是有超过 15 个 javascript 文件需要查看,我把它留给你。

      【讨论】:

        猜你喜欢
        • 2012-12-31
        • 2016-07-24
        • 2017-11-01
        • 1970-01-01
        • 2012-06-24
        • 2020-06-05
        • 1970-01-01
        • 2011-08-25
        • 1970-01-01
        相关资源
        最近更新 更多