2

我正在使用 Splunk 运行 ColdFusion。最初,我将搜索传递给 Splunk,它会返回一个工作 ID。然后我必须将该作业 ID 传递给 cfexecute 函数参数。例如,这就是我希望参数的外观:

arguments = "-u userid:password -k https://localhost:8089/services/search/jobs/1426104412.198/results/ --get -d output_mode=csv"

作业 ID 是“1426104412.198”,是第一步返回的内容。

这就是我设置 cfexecute 函数的方式,但我不相信作业 ID 正在传递给它。

首先,我构建了 URL,因为我必须在“job/”和 job id 之间删除一个虚假的空间。

<cfset args1="https://localhost:8089/services/search/jobs/<cfoutput>#jobid#</cfoutput>/results/">

<cfset args = reReplace(args1, "[[:space:]]", "", "ALL") />

之后,我像这样调用 cfexecute 函数:

<cfexecute name = "curl.exe" 
 arguments = "-u admin:changeme -k  <cfoutput>#args#</cfoutput>  --get -d output_mode=csv" 
 outputfile="C:\common\searchresults.csv" 
 timeout = "60"> 
</cfexecute>

我也试过这个,没有结果,我能想到的所有其他排列。

<cfexecute name = "curl.exe" 
     arguments = "-u admin:changeme -k " #args# " --get -d output_mode=csv" 
     outputfile="C:\common\searchresults.csv" 
     timeout = "60"> 
</cfexecute>

我可以输出 args 参数,可以看到它是正确的。如果我将 args 硬编码到 arguments 参数中,我会得到结果。但是当使用上面显示的示例时,我什么也没得到。

我相信 #args# 没有被传递,但我不知道如何显示该 arguments 参数。我已经使用 ColdFusion 工作了大约 8 个小时,所以我不知道的比我知道的要多得多。

那么我如何传递#args#参数呢?

4

0 回答 0