NI-FI - 对页面进行身份验证以下载文件

时间:2017-12-11 18:40:38

标签: apache-nifi

我目前正在尝试使用nifi从网页上获取.zip文件。我能够生成文件的直接下载链接,但应用程序需要在打开直接链接之前登录页面。我尝试过使用InvokeHTTP,ListWebDAV和FetchWebDAV处理器,但我无法正常使用。 我甚至尝试使用页面使用的相同ID(登录,temp_password)将登录名和密码添加为属性。 还尝试使用Python代码,但我无法获得任何好的结果。

每当我尝试这些方法中的任何一个时,我都会在InvokeHTTP上收到一个小文件,其下载链接指出需要授权并下载一个文件,该文件是登录页面的源代码。 试图在互联网上几乎每个地方都看不到太多成功:/

我现在正试图让处理器实际登录页面并保持这种状态,以便调用处理器可以使用直接链接下载zip文件。

如果有人对我如何解决这个问题有另一个想法,我将非常感激。

如果需要,我可以提供更多信息,目前我正在使用Ni-Fi 1.1.2

提前致谢;

1 个答案:

答案 0 :(得分:1)

根据页面所使用的身份验证机制,您可能需要将两个InvokeHTTP处理器链接在一起。假设第一页有一个表单字段,您使用用户名和密码填写,您将使用InvokeHTTP方法提交一个POST方法,使用提供的凭据提交表单并收到包含的响应某种令牌(会话ID等)。您将从响应标头或页面内容中提取此值,并将其作为请求标头提供给第二个InvokeHTTP。使用浏览器的开发人员工具功能作为daggett建议观察身份验证过程将允许您确定这些值的确切位置。