On 04/09/2012 18:41, Matijn Woudt wrote:
On Tue, Sep 4, 2012 at 7:35 PM, ioan...@btinternet.com
<ioan...@btinternet.com> wrote:
I am hoping someone can spot what is missing here.  I am getting null result
from curl-ing a page with json post variables.

I try this url in my Firefox browser -

http://www.targetsite.com/search.php#somevar.someothervar

(#somevar.someothervar are irrelevant, I think, as I get the curl variables
from Firebug below.)

In Firebug, this shows:

POST http://www.targetsite.com/ajax/search.xml

In Firebug, below this link are tabs for: Headers, Post, Response, XML and
Cookies.  Post tab shows like:

JSON
VAR1           1
VAR2           "2012-09-12"
VAR3           null
CACHED         []
OPTIONS        null

To prove there is output, the Firebug Response tab shows:

<?xml version="1.0" encoding="utf-8"?>
<JSON> various JSON encoded stuff </JSON>

The above is what I am trying to curl.

My php code:

   $ch = curl_init();
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   curl_setopt($ch, CURLOPT_POST, 1);

   //target page from Firebug above:
   curl_setopt($ch, CURLOPT_URL,
"http://www.targetsite.com/ajax/search.xml";);

   //I was not sure how to represent CACHED [], so set it to null
try "CACHED"=>array()
   $data = array(
     "VAR1" => 1,
     "VAR2" => "2012-09-12",
     "VAR3" => null,
     "CACHED"=>null,
     "OPTIONS"=>null,
   );
   curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

   //make the request
   $result = curl_exec($ch);

   //this returns null

Any ideas where to go with this?  Maybe I need to include the Cookies? I use
the above php and curl functions normally so it's all installed on the
server.

John

It might be that the site is using sessions/cookies. Have a look at
the header data with firebug.
Not sure if that's the problem, to find out what's really going on, call
echo curl_error($ch);
after curl_exec to find out what went wrong exactly.
If you still don't know how to proceed, paste the result of the
curl_error call in your reply.

- Matijn

I added the cookies to the post array. I changed php array to "CACHED"=>array() for the JSON "CACHED":[], and corrected php's null to NULL. It is not returning any error. The browser was showing 'resource not present' before I added the cookies to the post array, now it just returns null $result. Looks like I am transcribing something incorrectly.

John

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to