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

时间:2011-08-06 18:44:22

标签: php curl

任何人都可以帮助我如何使用PHP和cURL将表格(POST)中的数据发送到URL?

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

很高兴知道数据是否已成功提交以处理错误或重定向。

其他信息我认为我被重定向的原因是因为一旦我执行了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);

我编辑此帖子以显示我正在使用的示例。我应该首先发布代码。

2 个答案:

答案 0 :(得分:6)

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;
}

答案 1 :(得分:0)

  

任何人都可以帮助我如何使用PHP和cURL将表格(POST)中的数据发送到URL?

请搜索网站和/或发布您的代码如何操作。看起来做实际的POST请求不是你的具体问题。如果是,请查看以下相关问题: Passing $_POST values with cURL php curl: i need a simple post request and retrival of page example

  

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

假设$ch是你的卷曲手柄:

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

选项的含义是described on the PHP manual page。 然后执行curl_exec并检查请求是否成功的返回值。

该部分可能相关的问题是: Make curl follow redirects?