I have a simple "Hello World" stored process, and I can successfully call it from my browser and get the results directly by passing in my user/pass credentials as part of the URL request (so the login page never shows).
I'm trying to replicate the above behaviour by passing the same URL to curl, but I keep getting the login screen as a result.
From the browser, the URL looks like:
http://myserver.com:7980/SASStoredProcess/do?
_program=my_program&_username=my_user_name&_password=%7BSAS002%7DEFFF...
From curl (running from a Linux64 bash shell), I've tried a multitude of parameters etc, but my latest version is:
curl -v -L -k -d "_program=my_program&_username=my_user_name&_password=%7BSAS002%7DEFFF..." http://myserver.com:7980/SASStoredProcess/do
As I mentioned, it results in the login screen. I've also tried the /do1 request with the same results.
I believe I have everything configured correctly in SAS Management Console, as the request works fine from the browser URL. Where am I going wrong?
You're just missing the options to read / write cookies (this is where the session token is stored).
Try the following:
curl -v -L -k -c cookiefile -b cookiefile \
-d "_program=my_program&_username=my_user_name&_password=%7BSAS002%7DEFFF..." \
http://myserver.com:7980/SASStoredProcess/do
You're just missing the options to read / write cookies (this is where the session token is stored).
Try the following:
curl -v -L -k -c cookiefile -b cookiefile \
-d "_program=my_program&_username=my_user_name&_password=%7BSAS002%7DEFFF..." \
http://myserver.com:7980/SASStoredProcess/do
Yes! That was it... thank you so much!
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.