On 28/10/12 04:12, Ankur Sinha wrote:
> I am trying to cURL my university login page. I want users to enter their university id and pass in my website,
> my website will curl to university website, authenticate and then allow them to login or give error accordingly.
There are quite many people who won't do that, login in to a site from a
third party page, as this can cause login credentials be stolen.
> But my university portal is a jsp page.
This don't make any difference how curl works.
> And after having posted in StackOverflow and other forums before, this
> is what I came up with. I need further help on where I am going wrong and how to rectify it.
>
> [code]
> <form class="form-horizontal" action="curl.php" method="POST">
> <div class="control-group">
> <label class="control-label" for="inputEmail">Username</label>
> <div class="controls">
> <input type="text" id="inputEmail" placeholder="Username">
You will not send any useful data to your curl page, see examples at
w3schools:
http://www.w3schools.com/html/html_forms.asp
> </div>
> </div>
> <div class="control-group">
> <label class="control-label" for="inputPassword">Password</label>
> <div class="controls">
> <input type="password" id="inputPassword" placeholder="Password">
You will not send any useful data to your curl page, see examples at
w3schools:
http://www.w3schools.com/html/html_forms.asp
> </div>
> </div>
> <div class="control-group">
> <div class="controls">
> <label class="checkbox">
> <input type="checkbox"> Remember me
> </label>
> <button type="submit" class="btn">Sign in</button>
> </div>
> </div>
> </form>
> [/CODE]
>
> Now this is my curl.php file:
>
> [CODE]
> <?php
> $address = "
http://evarsity.srmuniv.ac.in/srmswi/usermanager/youLogin.jsp"; //site URL
> $post = "username=txtRegNumber&pass=txtPwd"; //Parameters to be sent. Written like GET.
You need to set the login name and password, in this case you just using
static values txtRegNumber / txtPwd, you need to assign those dynamically.
See
http://www.php.net/manual/en/language.variables.basics.php
> $welcomeMessage = "Welcome..."; //This is the message that is displayed when a login is successful
>
> $options = array(
> CURLOPT_USERAGENT => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)',
> CURLOPT_POST => true, //using post
> CURLOPT_URL => $address, //where to go
> CURLOPT_POSTFIELDS => $post, //input params
> CURLOPT_RETURNTRANSFER => true, //Returns a string value of the request
> CURLOPT_SSL_VERIFYPEER => false, //Avoid SSL problems
> CURLOPT_COOKIEFILE => 'cookie.txt', //Save cookies
> CURLOPT_COOKIEJAR => 'cookies.txt' //Cookies located
> CURLOPT_USERPWD ==> [username]:[password]);
>
You need to make the connection to the site, see example at
php.net:
http://www.php.net/manual/en/function.curl-init.php
> if (strpos($content, $welcomeMessage) !== false){
> /*
> Do whatever,I don't know what to do here though
> */
> }
You should make error checks, see examples at
php.net:
http://www.php.net/manual/en/function.curl-errno.php
http://www.php.net/manual/en/function.curl-error.php
When you confirm that you have logged in, you have to be sure that the
string you look for don't include HTML tags.
> curl_close($ch); //close connections
> ?>
> [/CODE]
>
> Please let me know where I am going wrong, why I am not able to login and after logging in, how to log out.
Drop the cookie, if you want the university web server to know it, make
a curl request to the logout link/page.
Good luck with your school assignment.
--
//Aho