[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 384
  • Last Modified:

curl php - error:your browser is not accepting cookies

Hi,

I receive an error in the $file when I try the curl. It's basically saying that my browser's cookie is not enabled which it is.

When I login in manually I can see that 'id' and the 'pass'. What I'm trying to do is login and then grab the 'id' and 'pass' in the resulting page.

Any ideas?
$ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $loginurl);
        curl_setopt($ch, CURLOPT_POST, 1 );
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
        curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $result = curl_exec($ch);
        $file = time().'.txt'; // view the page for debugging
		 $fh = fopen($file,'w');
		 fwrite($fh,$result);
		 fclose($fh);
        $info = curl_getinfo($ch);
        $curlError = curl_error($ch);
 
        preg_match('/id=(.*)?&pass=(.*)?">/', $result, $links);
        $id = $links[1];
        $pass = $links[2];

Open in new window

0
Victor Kimura
Asked:
Victor Kimura
  • 3
  • 2
1 Solution
 
marchentCommented:
use the cookie file with absolute path name. For example instead of using "cookie.txt", use "/tmp/bla/bla/bla/cookie.txt"

Also, change the ownership of the cookie file. Just provide your apache to write the cookie file.
0
 
Victor KimuraAuthor Commented:
Hi marchent,

How do I provide my apache to write the cookie file?

I changed the cookie.txt to an absolute path. I changed the cookie.txt file to 777 just to see if that would work. I still receive the same error.

The page is here:
http://discountnwa.com/curl/ezine_login2.php

I'm really baffled as I know this should work.

Thanks for your help,
vkimura
0
 
Victor KimuraAuthor Commented:
Just another note on the cookie.

If you execute
the PHPSESSID=m596pavpktd68jhqdkq60vhjs5;
http://discountnwa.com/curl/ezine_login2.php

When I look at the cookie.txt file it contains the same PHPSESSID. So it looks like the cookie is saved but for some reason it's not being read.
0
 
marchentCommented:
Sorry, I didn't notice your code correctly. When using cookie-jar, needs to add 2 lines like below. Just add the other one, which you didn't
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);

Open in new window

0
 
Victor KimuraAuthor Commented:
Thanks, marchent. That worked
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now