I can send HTTP request via fiddler or firebug network tool and receive server response but I cannot receive the same response via cURL and php; What is wrong?
I opened the URL (http://search.icbar.org) in my browser and searched with a filled "lawyer license number" field with "102", I caught the http request and then wrote the code below to imitate the action once more, but there was no response from server at all.
my code is here:
<?php
//echo phpinfo();
// Get cURL resource
$curl = curl_init();
// Set some options - we are passing in a useragent too here
$pf=array('name' => '','family' => '','licenseNumber' => '102','Gender' => '','workState' => '','Province' => '','address' => '');
$headers = array(
'Accept-Language: en-US,en;q=0.5',
'Accept-Encoding: gzip, deflate',
'Cache-Control: no-cache',
'Content-Type: application/json',
'X-Requested-With: XMLHttpRequest',
'Pragma: no-cache',
'Content-Length: 99',
'Connection: keep-alive',
'Host: search.icbar.org',
'Referer: http://search.icbar.org/',
'User-Agent: me');
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, 'http://search.icbar.org/Handler/Law.ashx?Method=mGetLawyers');
curl_setopt($curl, CURLOPT_USERAGENT, 'ali');
curl_setopt($curl, CURLOPT_POST, 0);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pf);
// Send the request & save response to $resp
$resp=curl_exec($curl);
print_r(json_decode($resp));
if(!$resp)
{
die('Error: "' . curl_error($curl) . '" - Code: ' . curl_errno($curl));
}
// Close request to clear up some resources
curl_close($curl);
?>