Find the answer to your Linux question:
Results 1 to 2 of 2
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1

    cURL not posting login data?


    I have searched much for the answer to this question; most of my Google
    searches bring up the same thing, the cURL manual. Done much experimentation
    but to no avail.

    I am running an automated script that compares content of a web page against the last
    time it was checked (using diff) to see if it was updated. Works great.

    Now I want to check a page (php bulletin board) which requires logging in
    with password.

    According to the cURL manual, this should be no big deal. Quote from the cURL

    "It's easy to post data using curl."

    The "form" container of the page looks like this:

    <form action="login.php" method="post" target="_top">
    <input type="text" name="username" size="25" maxlength="40" value="" /></div>
    <input type="password" name="password" size="25" maxlength="32" /></div>
    <input type="checkbox" name="autologin" />
    <input type="hidden" name="redirect" value="viewforum.php?f=1&start=0" />
    <input type="submit" name="login" class="mainoption" value="Log in" /><br />

    Following the directions from the POST (HTTP) section of the manual I enter this:

    (NOTE: the URL I have used in each case was entered as a full http protocol URL when
    running the command. I have removed the http protocol prefixes here to keep them from being parsed as a link.)

    curl -d "username=myusername&password=xyz123&login=Log+in& redirect=viewforum.php?f=1&start=0"

    The URL supplied is the URL which, if I am logged out using a particular browser,
    this would take me to a login page, and then once the login data was entered and
    submitted, would normally take me right to the desired forum page.

    I am assuming then, that by posting the data using cURL as I have done, it should
    download the content of that same desired forum page.

    Instead, the output I get is something like this:

    allasso:~ allasso$curl -d "username=myusername&password=xyz123&login=Log+in& redirect=viewforum.php?f=1&start=0"
    [1] 863
    [2] 864

    THEN, if I keep re-entering the same command, it looks like this (notice the numbers
    in brackets seem to increase sequentially):

    allasso:~ allasso$curl -d "username=myusername&password=xyz123&login=Log+in& redirect=viewforum.php?f=1&start=0"
    [3] 865
    [4] 866
    [1] Done curl -d "username=myusername&password=xyz123&login=Log+in& redirect=viewforum.php?f=1&start=0"
    [2] Done f=1
    allasso:~ allasso$curl -d "username=myusername&password=xyz123&login=Log+in& redirect=viewforum.php?f=1&start=0"
    [5] 867
    [6] 868
    [3] Done curl -d "username=myusername&password=xyz123&login=Log+in& redirect=viewforum.php?f=1&start=0"
    [4] Done f=1

    As I said, I just simply want it to download the same page that shows up when I submit
    data manually from a browser.

    I then tried entering the same information using the -F option instead of -d:

    curl -F "username=myusername&password=xyz123&login=Log+in& redirect=viewforum.php?f=1&start=0"

    This gives me similar output, only this time it will download the login page (not the page I
    wish to be directed to), and then does not exit.

    If I simply press return again, I get this:

    [1]- Done curl -F "username=myusername&password=xyz123&login=Log+in& redirect=viewforum.php?f=1&start=0"
    [2]+ Done f=1

    Anyone know what is going on, and what I need to do to get cURL to get past the login
    page and download the desired page each time?



  2. #2
    my apologies for the incorrect use of "cURL".

    It should be "curl"

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts