ColdFusion中的基本身份验证

时间:2014-11-01 23:54:59

标签: coldfusion basic-authentication

我正在尝试连接到需要基本身份验证的第三方供应商。我基本上需要下载html / js / css并查看我网站上的内容。我已经可以使用下面的代码连接到该站点。问题是下面的内容引用了相对于其他域的js和css,并且还需要自己进行基本身份验证。我已经尝试将'resolveUrl'设置为true,这似乎是正确的步骤,但我无法通过基本身份验证块。我很感谢能得到的所有帮助。

<cfscript>
    httpService = new http();

    httpService.setURL("https://example.com");
    httpService.setMethod("GET");
    httpService.setUsername("someusername");
    httpService.setPassword("somepassword");
    httpService.setResolveUrl(true);

    prefix = httpService.send().getPrefix();
    fileContent = prefix.fileContent;

    writeOutput(fileContent);
</cfscript>

1 个答案:

答案 0 :(得分:0)

ResolveURL是否按预期执行?你的意图是什么?您是否想从文档中收集网址,以便知道从何处收集文件?

有很多关于将文本中的链接转换为超链接的主题。您可以使用ReMatch()轻松调整并收集数组。

你甚至可以使用Adobe的例子:

result = REMatch("https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?", cfhttp.filecontent);

我还没有对此进行测试,但我觉得这种改变可能有效

result = REMatch("https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\.js|\.css.|\.other|\.ext|\.you|\.wnt|\.hre)(\?\S+)?)?)?", cfhttp.filecontent);

或类似

的简单
result = REMatch("http[s]?://([^\s"">])*(\.js|\.css.|\.other|\.ext|\.you|\.wnt|\.hre)([^\s"">])*", cfhttp.filecontent);

您必须在.的扩展名前加\作为前缀,因为.是正则表达式中的特殊字符(它是一个通配符,表示任何字符)

Result返回请求中每个匹配项的数组。您可以使用它,以便它只过滤到以某些扩展名结尾的文件。

获得结果数组后,我会进行一些处理,以确保我没有任何重复的网址,然后在数组上使用cfloop并输入内容。

一个基本的蜘蛛:)。