Php Curl脚本将数据发布到API

时间:2014-05-20 07:42:10

标签: php curl

我的要求是在PHP页面中编写一个curl脚本,将数据发布到外部API。我设法写了一个脚本,但我不知道是否将会话参数作为标题传递。我的代码示例正在使用auth失败。请帮我解决这个问题。谢谢

$sessionID = 's%3A1pdDOimttaCJ1CwgtCxXDUQx.rH79R87KzV9QWFFOYQwKDaxT2Nu8zhBerDxjs2y0JiM';
$post_id = 'gmXmJiVDSgSB6BRrkbkLdA';
$approval_status = 'approved';
$data = array(
    'approval_status'=> $approval_status,
    'post_id' => $post_id
);
$session = array (
    'sessionID' => $sessionID
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, $session);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_URL, "http://192.168.2.2:7082/approve-posts" );
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch);
echo "response". $result;
curl_close($ch); 

1 个答案:

答案 0 :(得分:0)

使用 CURLOPT_POST ,第三个参数是查询字符串。

  

curl_setopt($ ch,CURLOPT_POST,http_build_query($ data));

并且使用 CURLOPT_POSTFIELDS ,第三个参数是发布数据中的字段数。

  

curl_setopt($ ch,CURLOPT_POST,count($ data));