I'm using curl to export some csv data from Splunk using the REST API. The curl command is below:
curl --get -s -u admin:pwd -k https:localhost:8088/servicesNS/admin/search/search/jobs/export -d outputmode=csv --data-urlencode search="search index=* sourcetype="log4j" | rex field=raw ".ERROR\s+(?.)\n | top limit=20 ErrorMessage" -o aggregatedErrors.csv
It works fine on cygwin, but my linux boxes say "curl: option --data-urlencode: is unknown" (because in fact, it isn't an option when I look under curl --help). What's the alternative? Is there a way to encode this on linux/mac terminals as well?
What version of curl are you running?
--data-urlencode was added around v 7.18.0 before 2010 I believe. If you have a previous version, is upgrading curl an option?
Good question Sean. I should have mentioned in my post. The version is definitely the issue. My Cygwin instance is using 7.39.xx while my linux boxes have 7.15.xx. Unfortunately, I'm a non-root user so upgrading curl isn't an option.
Hmm, in that case you may want to look at doing it with perl. Hopefully URI::escape is installed. There are several ideas in this thread: