如何在 PHP 中创建与此 HTML 表单完全相同的脚本?

我正在尝试创建一个与下面的 HTML 表单相同的 PHP 脚本。


最终目标是我可以使用 PHP 脚本自动化表单。现在,我们必须手动填写表格。一开始没问题,但现在我们每个月都必须填写太多次表格。


下面的表格有效(如果我填写了正确的商家和票)。但不知何故,我无法创建一个可以做同样事情的 PHP 脚本。


<form method="post" action="https://payment.architrade.com/cgi-ssl/ticket_auth.cgi" accept-charset="ISO-8859-1">

    <input type="hidden" name="amount" value="100">

    <input type="hidden" name="currency" value="DKK">

    <input type="hidden" name="merchant" value="INSERT_YOUR_MERCHANT_ID">

    <input type="hidden" name="orderid" value="Order_ID-123">

    <input type="hidden" name="textreply" value="true">

    <input type="hidden" name="ticket" value="1234567890">

</form>

这是我尝试过的代码(我知道 URL 是错误的,但我使用的是回显服务,所以我可以看到响应):

$postData = array(

    'amount' => '100',

    'currency' => 'DKK',

    'merchant' => 'INSERT_YOUR_MERCHANT_ID',

    'orderId' => 'Order_ID-123',

    'textreply' => 'true',

    'ticket' => '1234567890'

    );


// Setup cURL

$ch = curl_init('https://postman-echo.com/post');

curl_setopt_array($ch, array(

    CURLOPT_POST => TRUE,

    CURLOPT_RETURNTRANSFER => TRUE,

    CURLOPT_HTTPHEADER => array(

        'content-type: application/x-www-form-data'

    ),

    CURLOPT_POSTFIELDS => json_encode($postData)

));


// Send the request

$response = curl_exec($ch);


echo "<br>";

echo 'Response: '. $response;

echo "<br>";

如果您想了解更多有关 API 的信息,可以在此处找到一些信息: https ://tech.dibspayment.com/D2/API/Payment_functions/ticketauthcgi

有人可以告诉我我做错了什么吗?


慕丝7291255
浏览 97回答 2
2回答

动漫人物

2019 年 11 月 30 日更新:请试试:$data = array(&nbsp; &nbsp; 'amount' => '100',&nbsp; &nbsp; 'currency' => 'DKK',&nbsp; &nbsp; 'merchant' => 'INSERT_YOUR_MERCHANT_ID',&nbsp; &nbsp; 'orderId' => 'Order_ID-123',&nbsp; &nbsp; 'textreply' => 'true',&nbsp; &nbsp; 'ticket' => '1234567890'&nbsp; &nbsp; );$curl = curl_init();curl_setopt_array($curl, array(&nbsp; CURLOPT_URL => "https://postman-echo.com/post",&nbsp; CURLOPT_RETURNTRANSFER => true,&nbsp; CURLOPT_ENCODING => "",&nbsp; CURLOPT_MAXREDIRS => 10,&nbsp; CURLOPT_TIMEOUT => 0,&nbsp; CURLOPT_FOLLOWLOCATION => false,&nbsp; CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,&nbsp; CURLOPT_CUSTOMREQUEST => "POST",&nbsp; CURLOPT_POSTFIELDS =>$data,));$response = curl_exec($curl);$err = curl_error($curl);curl_close($curl);if ($err) {&nbsp; echo "cURL Error #:" . $err;} else {&nbsp; echo $response;}&nbsp;///////////////////////////////////////// /////////////////////////要调试 PHP curl,请运行并提供反馈:$headers = array("Content-Type: application/x-www-form-urlencoded");$data = array(&nbsp; &nbsp; 'amount' => '100',&nbsp; &nbsp; 'currency' => 'DKK',&nbsp; &nbsp; 'merchant' => 'INSERT_YOUR_MERCHANT_ID',&nbsp; &nbsp; 'orderId' => 'Order_ID-123',&nbsp; &nbsp; 'textreply' => 'true',&nbsp; &nbsp; 'ticket' => '1234567890'&nbsp; &nbsp; );$ch = curl_init();curl_setopt($ch, CURLOPT_URL,"https://postman-echo.com/post");curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");curl_setopt($ch, CURLOPT_POSTFIELDS, $data);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);curl_setopt($ch, CURLOPT_TIMEOUT_MS, 1000);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($ch, CURLOPT_VERBOSE, TRUE);curl_setopt($ch, CURLOPT_ENCODING , "gzip");curl_setopt($ch, CURLOPT_USERAGENT,'php');curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);$info = curl_getinfo($ch);$result = curl_exec($ch);print_r($info );echo "</br>";&nbsp;print_r($result );&nbsp;&nbsp;

芜湖不芜

您可以使用Guzzle HTTP Client轻松完成此操作。$client = new GuzzleHttp\Client();$response = $client->post('https://postman-echo.com/post', [&nbsp; &nbsp; 'form_params' => [&nbsp; &nbsp; &nbsp; &nbsp; 'amount' => '100',&nbsp; &nbsp; &nbsp; &nbsp; 'currency' => 'DKK',&nbsp; &nbsp; &nbsp; &nbsp; 'merchant' => 'INSERT_YOUR_MERCHANT_ID',&nbsp; &nbsp; &nbsp; &nbsp; 'orderId' => 'Order_ID-123',&nbsp; &nbsp; &nbsp; &nbsp; 'textreply' => 'true',&nbsp; &nbsp; &nbsp; &nbsp; 'ticket' => '1234567890'&nbsp; &nbsp; ]]);然后,您可以根据需要使用响应。
打开App,查看更多内容
随时随地看视频慕课网APP