bash - curl - How to get a cookie from after login to send in a curl command? -


i want access json page contains data. say, it's there under http://example.com/home/apples.json it's protected, login page shown. if visit manually first go http://example.com/ there login menu , after login user "test" password "test" visiting http://example.com/home/apples.json again show me json data.

if

curl -u test:test http://example.com/home/apples.json -v 

i end @ login page. (despite authentication.)

if visit http://example.com/ , manually login cookie after login. cookie called ltoken , gets value "dj8f". show after successfull login. when via browser , copy cookie data , attach curl command:

curl -b "ltoken="dj8f" http://example.com/home/apples.json -v 

it work.

how can cookie data after login without doing manually? possible via bash shell scripting means? if yes how? alternatively how done in groovy script?

you have perform proper login curl first. in order this, navigate login page , have @ source code. login form should this.

<form action="http://example.com/login/target" method="post">     <input type="text" name="username" />     <input type="password" name="passphrase" />     <input type="submit" value="log in" /> </form> 

(i assume there no hidden input fields. hidden input fields used protect against request forgery, going do.)

from snipped have extract target of login request (in example http://example.com/login/target) names of html input fields (here username , passphrase). perform login process, should send login information target, example executing

curl --cookie-jar cookies.txt --form passphrase=test --form username=test http://example.com/login/target 

(please note, not advisable type password on command line in way. password stored in command history , stolen.)

the --cookie-jar option tells curl store cookies in file. if login succeeds , server sets session cookies, curl save them in text file.

after successful login, should able access json-file, if request contains cookies cookie-jar. can achieved -b argument. if -b not contain = character, curl use contents of file cookies.

curl -b cookies.txt http://example.com/home/apples.json -v 

Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -