无法从远程服务器发送cURL POST数据

时间:2014-04-23 05:12:46

标签: php curl

我无法将数据从远程服务器发送到托管公司的Web服务器。在远程服务器上,cURL执行完美而没有任何错误,但在Web服务器的数据库中似乎没有收到任何数据。我真的不知道这是什么或为什么会发生。我试图联系我的托管公司进行解释,他们说服务器已经支持cURL lib。有人可以帮我这个。

send.php (在远程服务器中运行)

<?php

$number= '12345';
$status= 'SUCCESS';
$msg = 'Transaction is Success!';

$curlHandle         = curl_init();
curl_setopt($curlHandle, CURLOPT_URL, 'http://mywebsite.org/update.php');
curl_setopt($curlHandle, CURLOPT_POST, 1);
curl_setopt($curlHandle, CURLOPT_HEADER, 0);
curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, 'number='.$number.'&status='.$status.'&msg ='.$msg);
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true);

if (!curl_exec($curlHandle)) {
    echo 'An error has occurred: ' . curl_error($curlHandle);
}
else {
    echo 'everything was successful';
}   

curl_close($curlHandle);

?>

update.php (在网络服务器中运行)

<?php
include ("db_con.php");

$number = $_POST['number'];
$status = $_POST['status'];
$msg = $_POST['msg '];

$query  = "UPDATE tbstatus SET status = '$status', msg = '$msg '  WHERE number = '$number '";
mysql_query($query);

?>

提前谢谢。

2 个答案:

答案 0 :(得分:1)

大多数网站都使用重写规则来删除www

您可以尝试从网址中删除www吗?

同时设置

curl_setopt($curlHandle,CURLOPT_FOLLOWLOCATION,true);

如果这不会起作用 -

在你的php.ini中设置safe_mode = Off,如果已经关闭,则评论open_basedir

然后重新启动Web服务器。

答案 1 :(得分:0)

请改为尝试:

<强> send.php

<?php

$number= '12345';
$status= 'SUCCESS';
$msg = 'Transaction is Success!';

$curlHandle = curl_init();
curl_setopt($curlHandle, CURLOPT_URL, 'http://mywebsite.org/update.php');
curl_setopt($curlHandle, CURLOPT_POST, 1);
curl_setopt($curlHandle, CURLOPT_HEADER, 0);
curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, 'number='.$number.'&status='.$status.'&msg ='.$msg);
curl_setopt($curlHandle, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);

if (!curl_exec($curlHandle)) {
    echo 'An error has occurred: ' . curl_error($curlHandle);
}
else {
    echo 'everything was successful';
}   

curl_close($curlHandle);

?>

<强> update.php

<?php
include ("db_con.php");

$number = $_POST['number'];
$status = $_POST['status'];
$msg = $_POST['msg '];

$query  = "UPDATE tbstatus SET `status` = '$status', `msg` = '$msg'  WHERE `number` = '$number'";
mysql_query($query);

?>