CURL发送PHP的帖子

时间:2016-01-29 03:12:44

标签: php curl

请查看以下代码:

$url='https://www.test.com/test.php';
$post='?field1=1&field2=2&filed3'; // no need array text as is
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
curl_exec ($ch);
curl_close ($ch)

应该是简单的代码,我用作参考http://curl.haxx.se/libcurl/php/examples/simplepost.html

我通过替换变量来修改代码。

我需要将数据发送到属于第三方的远程服务器。另一方的服务器有数据库。当我手动将www.test.com/test.php?field1=1&field2=2&filed3复制到网络浏览器中时,数据保存到其他服务器的数据库中,并在浏览器屏幕上响应{"Code":15,"Msg":null"},这意味着数据已正确发送。当尝试通过PHP脚本发送时,未保存在远程数据库中的数据也没有得到响应消息。

1 个答案:

答案 0 :(得分:0)

如果请求在您将其输入网络浏览器时有效,则可能是GET而不是POST请求。这样做的一个简单示例如下:

$url= 'http://www.test.com/test.php?field1=1&field2=2&filed3';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
if (curl_errno($ch)) {
    echo 'Error: ' . curl_error($ch);
}
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

var_dump($http_status);
var_dump($result);

我还设置了CURLOPT_RETURNTRANSFER选项,以便您可以在$result中捕获回复。