通过PHP CURL发布数据并重定向用户
我们需要将用户重定向到一个URL,并使用PHP CURL将一些数据发送到该URL(POST)。就像用户单击HTML表单submit with POST方法一样 我们的代码是通过PHP CURL发布数据并重定向用户,php,redirect,curl,post,submit,Php,Redirect,Curl,Post,Submit,我们需要将用户重定向到一个URL,并使用PHP CURL将一些数据发送到该URL(POST)。就像用户单击HTML表单submit with POST方法一样 我们的代码是 $data=array("Token"=>"test2","RedirectURL"=>"test1"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://sep.shaparak.ir/Payment.aspx'); curl_setopt
$data=array("Token"=>"test2","RedirectURL"=>"test1");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://sep.shaparak.ir/Payment.aspx');
curl_setopt($ch, CURLOPT_REFERER, 'https://sep.shaparak.ir/Payment.aspx');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_VERBOSE, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
curl_setopt($ch, CURLOPT_POSTREDIR, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_exec($ch);
但它不起作用
解决方案是什么?这是我针对带卷曲的post的可行解决方案:
$postdata = "email=".$username."&pass=".$password;
$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, sizeof($postdata));
curl_setopt($ch,CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec ($ch);
curl_close ($ch);
如果上述方法不起作用,有另一种解决方案:
$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec ($ch);
curl_close ($ch);
正如我发现的,仅仅使用PHP是不可能的 您可以使用PHP生成一个表单,并在onLoad中使用JS提交该表单 更详细