亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 PHP 中創建與此 HTML 表單完全相同的腳本?

如何在 PHP 中創建與此 HTML 表單完全相同的腳本?

PHP
慕絲7291255 2022-05-27 14:58:58
我正在嘗試創建一個與下面的 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有人可以告訴我我做錯了什么嗎?
查看完整描述

2 回答

?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

2019 年 11 月 30 日更新:


請試試:


$data = array(

    'amount' => '100',

    'currency' => 'DKK',

    'merchant' => 'INSERT_YOUR_MERCHANT_ID',

    'orderId' => 'Order_ID-123',

    'textreply' => 'true',

    'ticket' => '1234567890'

    );


$curl = curl_init();


curl_setopt_array($curl, array(

  CURLOPT_URL => "https://postman-echo.com/post",

  CURLOPT_RETURNTRANSFER => true,

  CURLOPT_ENCODING => "",

  CURLOPT_MAXREDIRS => 10,

  CURLOPT_TIMEOUT => 0,

  CURLOPT_FOLLOWLOCATION => false,

  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,

  CURLOPT_CUSTOMREQUEST => "POST",

  CURLOPT_POSTFIELDS =>$data,

));


$response = curl_exec($curl);

$err = curl_error($curl);


curl_close($curl);


if ($err) {

  echo "cURL Error #:" . $err;

} else {

  echo $response;

///////////////////////////////////////// /////////////////////////


要調試 PHP curl,請運行并提供反饋:


$headers = array(

"Content-Type: application/x-www-form-urlencoded"

);


$data = array(

    'amount' => '100',

    'currency' => 'DKK',

    'merchant' => 'INSERT_YOUR_MERCHANT_ID',

    'orderId' => 'Order_ID-123',

    'textreply' => 'true',

    'ticket' => '1234567890'

    );


$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>"; 

print_r($result );  


查看完整回答
反對 回復 2022-05-27
?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

您可以使用Guzzle HTTP Client輕松完成此操作。


$client = new GuzzleHttp\Client();

$response = $client->post('https://postman-echo.com/post', [

    'form_params' => [

        'amount' => '100',

        'currency' => 'DKK',

        'merchant' => 'INSERT_YOUR_MERCHANT_ID',

        'orderId' => 'Order_ID-123',

        'textreply' => 'true',

        'ticket' => '1234567890'

    ]

]);

然后,您可以根據需要使用響應。


查看完整回答
反對 回復 2022-05-27
  • 2 回答
  • 0 關注
  • 121 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號