Solved

curl php - error:your browser is not accepting cookies

Posted on 2009-04-14
5
363 Views
Last Modified: 2012-05-06
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
Comment
Question by:Victor Kimura
  • 3
  • 2
5 Comments
 
LVL 13

Expert Comment

by:marchent
ID: 24138941
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
 

Author Comment

by:Victor Kimura
ID: 24140713
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
 

Author Comment

by:Victor Kimura
ID: 24140759
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
 
LVL 13

Accepted Solution

by:
marchent earned 500 total points
ID: 24141216
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
 

Author Closing Comment

by:Victor Kimura
ID: 31569797
Thanks, marchent. That worked
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
.php tree directory? 5 56
hiding/removing php extension - best practice 4 25
using php variable inside javascript 5 15
Why my select dropdown does not work? 8 27
Deprecated and Headed for the Dustbin By now, you have probably heard that some PHP features, while convenient, can also cause PHP security problems.  This article discusses one of those, called register_globals.  It is a thing you do not want.  …
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now