我如何使用PHP和cURL提交POST数据


How do I submit POST data using PHP and cURL?

谁能帮助我如何做从表单(POST)发送到使用PHP和cURL的URL的数据?

使用cURL,所有我想要完成的是发送数据,我不想被重定向,也没有得到任何类型的输出(HTML或文本),只是提交数据。

最好知道数据是否已成功提交,以处理错误或重定向。

额外的信息。我认为我被重定向的原因是因为一旦我执行cURL,目标页面,这是一个第三方网站,有一个重定向到位,确认用户他们的数据已被接收,并且由于某种原因,当我使用cURL发送我的数据时,他们的重定向会影响我的页面,因此我的页面也重定向到他们的确认站点。

谢谢大家。

示例代码:

$sub_req_url ="http://domain.com/util/request";
$ch = curl_init($sub_req_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_POSTFIELDS,  "id=64&session=1&k=B0EA8835E&firstname=Name&lastname=Lastname&company=Company%20Name&email=me@gmail.com&work_phone=123-456-7890");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
$resp = curl_exec($ch);
curl_close($ch);
我编辑这篇文章是为了展示我正在使用的一个例子。我应该先把代码贴出来
function post($requestJson) {
    $postUrl = $this->endpoint."?access_token=".$this->token;
    //Get length of post
    $postlength = strlen($requestJson);
    //open connection
    $ch = curl_init();
    //set the url, number of POST vars, POST data
    curl_setopt($ch,CURLOPT_URL,$postUrl);
    curl_setopt($ch,CURLOPT_POST,$postlength);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$requestJson);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    //close connection
    curl_close($ch);
    return $response;
}

谁能帮助我如何做从表单(POST)发送到使用PHP和cURL的URL的数据?

请搜索网站和/或张贴你的代码如何做到这一点。看起来做实际的POST请求不是您的具体问题。在这种情况下,看看这个相关的问题:传递$_POST值与cURLphp cURL:我需要一个简单的post请求和检索页面示例

使用cURL,所有我想完成的是发送数据,我不想被重定向或得到任何类型的输出(HTML或TEXT),只是提交数据。

假设$ch是你的旋度句柄:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);

这些选项的含义在PHP手册页中有说明。然后执行curl_exec并检查请求是否成功的返回值。

这部分的一个可能相关的问题是:使curl遵循重定向?