I have the following PHP code that enters a password protected page and captures a protected page. The script works fine, but I want to use the login function only once if I want to capture another secure page inside the same domain.
I want to use a cookie to open the next secure page, instead of using the login feature again! In another word, I just want to bypass the login step to capture other secure pages.
Can someone show me how to do this?
Note. My login function does not create any cookies that I do not see in the same folder as the script. Can someone tell me why?
<? $ch=login(); $html=downloadUrl('http://www.example.com/page1.asp', $ch); ////echo $html; function downloadUrl($Url, $ch){ curl_setopt($ch, CURLOPT_URL, $Url); curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch, CURLOPT_REFERER, "http://www.google.com/"); curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 10); $output = curl_exec($ch); return $output; } function login() { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/login.asp'); //login URL curl_setopt ($ch, CURLOPT_POST, 1); $post_array = array( 'txtUserName'=>'brad', 'txtPassword'=>'bradpassword', ); curl_setopt ($ch, CURLOPT_POSTFIELDS, $post_array); curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); $store = curl_exec ($ch); return $ch; } ?> <html> <br> <textarea rows="30" cols="150"><?PHP print_r($html); ?></textarea> </html>