FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » How to cURL a JSP page
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: How to cURL a JSP page [message #179431 is a reply to message #179429] Sun, 28 October 2012 08:43 Go to previous messageGo to previous message
J.O. Aho is currently offline  J.O. Aho
Messages: 194
Registered: September 2010
Karma:
Senior Member
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.
>
>
[/color]
[color=blue]>  <form class="form-horizontal" action="curl.php" method="POST">[/color]
[color=blue]>           <div class="control-group">[/color]
[color=blue]>               <label class="control-label" for="inputEmail">Username</label>[/color]
[color=blue]>               <div class="controls">[/color]
[color=blue]>                   <input type="text" id="inputEmail" placeholder="Username">[/color]

You will not send any useful data to your curl page, see examples at 
w3schools: http://www.w3schools.com/html/html_forms.asp

[color=blue]>               </div>[/color]
[color=blue]>           </div>[/color]
[color=blue]>           <div class="control-group">[/color]
[color=blue]>               <label class="control-label" for="inputPassword">Password</label>[/color]
[color=blue]>               <div class="controls">[/color]
[color=blue]>                   <input type="password" id="inputPassword" placeholder="Password">[/color]

You will not send any useful data to your curl page, see examples at 
w3schools: http://www.w3schools.com/html/html_forms.asp


[color=blue]>               </div>[/color]
[color=blue]>           </div>[/color]
[color=blue]>           <div class="control-group">[/color]
[color=blue]>               <div class="controls">[/color]
[color=blue]>                   <label class="checkbox">[/color]
[color=blue]>                       <input type="checkbox"> Remember me[/color]
[color=blue]>                   </label>[/color]
[color=blue]>                   <button type="submit" class="btn">Sign in</button>[/color]
[color=blue]>               </div>[/color]
[color=blue]>           </div>[/color]
[color=blue]>       </form>[/color]
[color=blue]>  
[/color]
>
> Now this is my curl.php file:
>
>
[/color]
[color=blue]>  <?php[/color]
[color=blue]>       $address = "http://evarsity.srmuniv.ac.in/srmswi/usermanager/youLogin.jsp"; //site URL[/color]
[color=blue]>       $post = "username=txtRegNumber&pass=txtPwd"; //Parameters to be sent. Written like GET.[/color]

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

[color=blue]>       $welcomeMessage = "Welcome..."; //This is the message that is displayed when a login is successful[/color]
[color=blue]> [/color]
[color=blue]>       $options = array([/color]
[color=blue]>          CURLOPT_USERAGENT => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)',[/color]
[color=blue]>          CURLOPT_POST => true, //using post[/color]
[color=blue]>          CURLOPT_URL => $address,  //where to go[/color]
[color=blue]>          CURLOPT_POSTFIELDS => $post, //input params[/color]
[color=blue]>          CURLOPT_RETURNTRANSFER => true, //Returns a string value of the request[/color]
[color=blue]>          CURLOPT_SSL_VERIFYPEER => false, //Avoid SSL problems[/color]
[color=blue]>          CURLOPT_COOKIEFILE => 'cookie.txt', //Save cookies[/color]
[color=blue]>          CURLOPT_COOKIEJAR => 'cookies.txt' //Cookies located[/color]
[color=blue]>          CURLOPT_USERPWD ==> [username]:[password]);[/color]
[color=blue]> [/color]

You need to make the connection to the site, see example at php.net:
http://www.php.net/manual/en/function.curl-init.php

[color=blue]>             if (strpos($content, $welcomeMessage) !== false){[/color]
[color=blue]>             /*[/color]
[color=blue]>             Do whatever,I don't know what to do here though[/color]
[color=blue]>             */[/color]
[color=blue]>             }[/color]

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.

[color=blue]>         curl_close($ch); //close connections[/color]
[color=blue]>       ?>[/color]
[color=blue]>  
[/color]
>
> 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
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: learn php in 17 hour
Next Topic: Requesting Help with a Regular Expression
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Thu Nov 28 11:17:11 GMT 2024

Total time taken to generate the page: 0.04423 seconds