PHP cURL Json Post - 做错了什么

问题描述:

I'm new to php and I'm trying to create a simple example for calling our company api. I got NetBeans IDE 7.1.2 to work last night (yay) but I cannot seem to get the following code to show me anything. I can run it in the debugger. I can step through it. I even get to the end without errors, but the curl_exec returns just 0. I have added the CURLOPT_PROXYPORT so that I can get fiddler to see the traffic, but fiddler sees nothing. I am also trying to run this as a php command line (if that has any bearing).

I know I'm doing something stupid... but that's the problem with stupid.

<?php
$url = 'https://target.boomerang.com/api/JobCreate';
$authToken = 'phptest';
$data = array(
    "emailHTML" => "Howdy",
    "jobKind" => "email",
    "senderEmail" => "bob@boomerang.com",
    "subject" => "My howdy email"
);
$data_string = json_encode($data);
$headers = array(
    'Content-type: application/json',
    'auth_token: ' . $authToken,
    'Accept: application/json',
    'Expect:'
);
$ch = curl_init();
$args = array(
    CURLOPT_URL => $url,
    CURLOPT_FOLLOWLOCATION => TRUE,
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_POST => TRUE,
    CURLOPT_POSTFIELDS => $data_string,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_PROXYPORT => "localhost:8888"
);
curl_setopt_array($ch, $args);
$res = curl_exec($ch);
$res_data = json_decode($res, true);
print($res_data);
?>

Thanks for any help.

So the problem was caused by SSL certificate mismatch? I suppose it can be solved by adding this...

CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,

...into $args array.