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


Cannot sending cURL POST data from remote server

我在将数据从远程服务器发送到托管公司的web服务器时遇到问题。在远程服务器上,cURL执行得很好,没有任何错误,但在web服务器的数据库中似乎没有接收到任何数据。我真的不知道为什么会发生这种事。我试着联系我的托管公司寻求解释,他们说服务器已经支持cURLlib。有人能帮我吗。

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(在web服务器中运行)

<?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);
?>

提前谢谢。

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

你能试着从网址中删除www吗?

同时设置

curl_setopt($curlHandle,CURLOPT_FOLLOWLOCATION,true);

如果这不起作用,那么-

在php.ini中,设置safe_mode = Off,如果已经关闭,则注释open_basedir

然后重新启动web服务器。

试试这个:

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);
?>