PHP cURL Json Post - 做错了什么

时间:2012-06-14 16:42:01

标签: php json curl

我是php的新手,我正在尝试创建一个调用我们公司api的简单示例。我让NetBeans IDE 7.1.2在昨晚(yay)上班,但我似乎无法获得以下代码来向我展示任何内容。我可以在调试器中运行它。我可以逐步完成它。我甚至没有错误地结束,但是curl_exec只返回0.我已经添加了CURLOPT_PROXYPORT,这样我就可以让小提琴手看到流量,但是fiddler什么也看不见。我也试图将其作为php命令行运行(如果有任何影响)。

我知道我做了一些愚蠢的事......但这就是愚蠢的问题。

<?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);
?>

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

所以问题是由SSL证书不匹配引起的?我想可以通过添加这个来解决......

CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,

...进入$ args数组。