如何将 splunk curl 查询转换为 Rcurl
How to convert splunk curl query into Rcurl
我想将这个特定的 splunk curl 请求转换为 Rcurl:
curl -k -u admin:pass https://localhost:8089/services/search/jobs --get -d search="eventCount>100"
这通过 httr
提供了一个习惯用法,您可以从中推断出其他 Splunk 调用:
#' @param search_terms
#' @param other parameters passed to httr GET/POST request
#' @return data.frame of results
search_now <- function(search_terms, ...) {
require(httr)
# i.e. "https://localhost:8089"
splunk_server <- Sys.getenv("SPLUNK_API_SERVER")
username <- Sys.getenv("SPLUNK_USERNAME")
password <- Sys.getenv("SPLUNK_PASSWORD")
search_job_export_endpoint <- "servicesNS/admin/search/search/jobs/export"
response <- GET(splunk_server,
path=search_job_export_endpoint,
encode="form",
config(ssl_verifyhost=FALSE, ssl_verifypeer=0),
authenticate(username, password),
query=list(search=paste0("search ", search_terms, collapse="", sep=""),
output_mode="csv"),
verbose(), ...)
result <- read.table(text=content(response, as="text"), sep=",", header=TRUE,
stringsAsFactors=FALSE)
result
}
它期望服务器基础 URL 位于 SPLUNK_API_SERVER
环境变量中(将它们粘贴在 .Renvion
中)并且用户名和密码位于其他两个非常明显的变量中代码。
我在 a gist 为其他人准备了它,很高兴它能增加一些里程数。一个完整的 splunkr
包正在制作中。
我想将这个特定的 splunk curl 请求转换为 Rcurl:
curl -k -u admin:pass https://localhost:8089/services/search/jobs --get -d search="eventCount>100"
这通过 httr
提供了一个习惯用法,您可以从中推断出其他 Splunk 调用:
#' @param search_terms
#' @param other parameters passed to httr GET/POST request
#' @return data.frame of results
search_now <- function(search_terms, ...) {
require(httr)
# i.e. "https://localhost:8089"
splunk_server <- Sys.getenv("SPLUNK_API_SERVER")
username <- Sys.getenv("SPLUNK_USERNAME")
password <- Sys.getenv("SPLUNK_PASSWORD")
search_job_export_endpoint <- "servicesNS/admin/search/search/jobs/export"
response <- GET(splunk_server,
path=search_job_export_endpoint,
encode="form",
config(ssl_verifyhost=FALSE, ssl_verifypeer=0),
authenticate(username, password),
query=list(search=paste0("search ", search_terms, collapse="", sep=""),
output_mode="csv"),
verbose(), ...)
result <- read.table(text=content(response, as="text"), sep=",", header=TRUE,
stringsAsFactors=FALSE)
result
}
它期望服务器基础 URL 位于 SPLUNK_API_SERVER
环境变量中(将它们粘贴在 .Renvion
中)并且用户名和密码位于其他两个非常明显的变量中代码。
我在 a gist 为其他人准备了它,很高兴它能增加一些里程数。一个完整的 splunkr
包正在制作中。