Deployment Architecture
Highlighted

--data-urlencode doesn't work on linux. Is there an alternative?

Explorer

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?

Tags (3)
Highlighted

Re: --data-urlencode doesn't work on linux. Is there an alternative?

Builder

What version of curl are you running?

curl --version

--data-urlencode was added around v 7.18.0 before 2010 I believe. If you have a previous version, is upgrading curl an option?

-Sean

View solution in original post

Highlighted

Re: --data-urlencode doesn't work on linux. Is there an alternative?

Explorer

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.

0 Karma
Highlighted

Re: --data-urlencode doesn't work on linux. Is there an alternative?

Builder

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:

http://stackoverflow.com/questions/296536/urlencode-from-a-bash-script

0 Karma