CURL to access a page that requires a login from a different page

前端 未结 4 1723
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-11-27 08:53

I have 2 pages: xyz.com/a and xyz.com/b. I can only access xyz.com/b if and only if I login to xyz.com/a first. If access

4条回答
  •  春和景丽
    2020-11-27 09:44

    The web site likely uses cookies to store your session information. When you run

    curl --user user:pass https://xyz.com/a  #works ok
    curl https://xyz.com/b #doesn't work
    

    curl is run twice, in two separate sessions. Thus when the second command runs, the cookies set by the 1st command are not available; it's just as if you logged in to page a in one browser session, and tried to access page b in a different one.

    What you need to do is save the cookies created by the first command:

    curl --user user:pass --cookie-jar ./somefile https://xyz.com/a
    

    and then read them back in when running the second:

    curl --cookie ./somefile https://xyz.com/b
    

    Alternatively you can try downloading both files in the same command, which I think will use the same cookies.

提交回复
热议问题