我需要使用PHP将数据发布到付款终端,但不是像curl_exec()
那样返回数据,而是实际需要访问该页面。
这就是我想出来的。
<html>
<head>
</head>
<body onload="document.frm1.submit()">
<form method="post" action="<?php echo $connectorUrl ?>" name="frm1">
<input type="hidden" name="Data" value="<?php echo $data ?>">
<input type="hidden" name="InterfaceVersion" value="<?php echo $interfaceVersion ?>">
<input type="hidden" name="Seal" value="<?php echo $seal ?>">
</form>
</body>
</html>
但后来我意识到可能有一个人已经禁用了JS而且它不会工作..所以我发现了这个:
$values = [
'Data' => $data,
'interfaceVersion' => $interfaceVersion,
'Seal' => $seal
];
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $connectorUrl);
curl_setopt( $ch, CURLOPT_POST, 3);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $values);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_HEADER, 1);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 0);
$returned = curl_exec( $ch );
但这实际上并没有访问该页面,这更像是一个AJAX请求。
有人知道如何使用PHP发布和访问页面吗?或者是1%的非JS客户搞砸了?