cURL不能使用POST数据 [英] cURL not working with POST data

查看:181
本文介绍了cURL不能使用POST数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图调试这个,但我没有运气。我正在发送POST数据吗?

  if(isset($ _ POST ['chrisBox'])){

$ curl = curl_init();
curl_setopt($ curl,CURLOPT_URL,http://www.associates.com/send-email-orders.php);
curl_setopt($ curl,CURLOPT_POST,TRUE);
curl_setopt($ curl,CURLOPT_POSTFIELDS,$ _POST ['chrisBox']);
curl_setopt($ curl,CURLOPT_HEADER,FALSE);
curl_setopt($ curl,CURLOPT_RETURNTRANSFER,FALSE);
curl_setopt($ curl,CURLOPT_VERBOSE,TRUE);
$ ex = curl_exec($ curl);
echo'email';
$ email = true;

}


解决方案

CURLOPT_POSTFILEDS需要一个urlencoded字符串或数组作为参数。请阅读 PHP手册curl_setopt 。改变了你的例子,现在它使用一个urlencoded的字符串。

  if(isset($ _ POST ['chrisBox'])){ 

$ curl = curl_init();
curl_setopt($ curl,CURLOPT_URL,http://www.associates.com/send-email-orders.php);
curl_setopt($ curl,CURLOPT_POST,TRUE);
curl_setopt($ curl,CURLOPT_POSTFIELDS,'chrisBox ='。urlencode($ _ POST ['chrisBox']));
curl_setopt($ curl,CURLOPT_HEADER,FALSE);
curl_setopt($ curl,CURLOPT_RETURNTRANSFER,FALSE);
curl_setopt($ curl,CURLOPT_VERBOSE,TRUE);
$ ex = curl_exec($ curl);
echo'email';
$ email = true;
}


I am trying to debug this, but I've had no luck. Am I sending the POST data correctly?

if (isset($_POST['chrisBox'])) {

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://www.associates.com/send-email-orders.php");
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $_POST['chrisBox']);
curl_setopt($curl, CURLOPT_HEADER, FALSE);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, FALSE);
curl_setopt($curl, CURLOPT_VERBOSE, TRUE);
$ex = curl_exec($curl);
echo 'email';
$email = true;

}

解决方案

CURLOPT_POSTFILEDS requires an urlencoded string or an array as param. Read PHP Manual curl_setopt. Have changed your example, now it uses an urlencoded string.

if (isset($_POST['chrisBox'])) {

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, "http://www.associates.com/send-email-orders.php");
    curl_setopt($curl, CURLOPT_POST, TRUE);
    curl_setopt($curl, CURLOPT_POSTFIELDS, 'chrisBox=' . urlencode($_POST['chrisBox']));
    curl_setopt($curl, CURLOPT_HEADER, FALSE);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, FALSE);
    curl_setopt($curl, CURLOPT_VERBOSE, TRUE);
    $ex = curl_exec($curl);
    echo 'email';
    $email = true;
}

这篇关于cURL不能使用POST数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆