如何使NReco在需要​​身份验证的页面上工作?

时间:2017-10-30 10:04:13

标签: c# nreco

我想从位于登录页面后面的网页上制作几个 pdfs 。当我尝试从他们的页面做基本信息时:

        var htmlToPdf = new HtmlToPdfConverter();

        htmlToPdf.GeneratePdfFromFile("url-of-page", null, "export.pdf");

当您未登录时,我会获得该网站提供的页面。

当我尝试给它饼干时(该网站有2个):

        var htmlToPdf = new HtmlToPdfConverter();

        htmlToPdf.CustomWkHtmlArgs = " --cookie name1 value1";
        htmlToPdf.CustomWkHtmlArgs = " --cookie name2 value2";

        htmlToPdf.GeneratePdfFromFile("url-of-page", null, "export.pdf");

我收到了登录页面。好像我输错了,但是我从邮递员那里得到了11的Cookie。

我是否使用了错误的名称和值格式?

我尝试了httpClient,Cookie在那里工作,我到了页面,但是当我无法获取图片 css 时这样做。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,“ NReco”可以访问我的登录页面。在我的项目的Web配置文件中,我的身份验证设置如下:

  <system.web>
    <authentication mode="Forms">
      <forms loginUrl="~/login.aspx"/>
    </authentication>
  </system.web>

然后我将name属性添加到表单,因为它使会话具有相同的名称,如下所示:

  <system.web>
    <authentication mode="Forms">
      <forms name="ACUID" loginUrl="/Login" protection="All" path="/" timeout="60" />
    </authentication>
  </system.web>

最后在授权设置中的Web配置文件中再次将其从:

更改为
  <authorization>
    <deny users="?" />
  </authorization>

TO:

  <authorization>
    <allow users="*" />
    <deny users="?" />
  </authorization>