GuzzleHttp - 在将用户重定向到同一页面时发送 post 请求
GuzzleHttp - Send post request while redirecting user to the same page
我正在尝试将网站集成到在线支付系统中。
我有一个问题。我想向 https:/xxx.xx.xx.xx/cgi-bin/cgi_link 发送 post 请求,同时将用户重定向到同一页面。我该怎么做 ?
我试图通过 GuzzleHttp 做到这一点,但失败了
我不想在视图侧显示输入字段。
echo "
<input name=\"AMOUNT\" value=\"{$db_row['AMOUNT']}\" type=\"hidden\">
<input name=\"CURRENCY\" value=\"{$db_row['CURRENCY']}\" type=\"hidden\">
<input name=\"ORDER\" value=\"{$db_row['ORDER']}\" type=\"hidden\">
<input name=\"DESC\" value=\"{$db_row['DESC']}\" type=\"hidden\">
<input name=\"MERCH_NAME\" value=\"{$db_row['MERCH_NAME']}\" type=\"hidden\">
<input name=\"MERCH_URL\" value=\"{$db_row['MERCH_URL']}\" type=\"hidden\">
<input name=\"TERMINAL\" value=\"{$db_row['TERMINAL']}\" type=\"hidden\">
<input name=\"EMAIL\" value=\"{$db_row['EMAIL']}\" type=\"hidden\">
<input name=\"TRTYPE\" value=\"{$db_row['TRTYPE']}\" type=\"hidden\">
<input name=\"COUNTRY\" value=\"{$db_row['COUNTRY']}\" type=\"hidden\">
<input name=\"MERCH_GMT\" value=\"{$db_row['MERCH_GMT']}\" type=\"hidden\">
<input name=\"TIMESTAMP\" value=\"{$oper_time}\" type=\"hidden\">
<input name=\"NONCE\" value=\"{$nonce}\" type=\"hidden\">
<input name=\"BACKREF\" value=\"{$db_row['BACKREF']}\" type=\"hidden\">
<input name=\"LANG\" value=\"AZ\" type=\"hidden\">
";
试试这个
$guzzle = new \GuzzleHttp\Client;
try {
$response = $guzzle->post(env('API_URL'), [
'form_params' => [
'param_1' => '{data_1}',
'param_2' => '{data_2}',
'param_3' => '{data_3}',
'param_4' => '{data_4}',
'param_5' => '{data_5}'
],
]);
if(isset($response) && $response->getStatusCode() == 200) {
// do something
}
} catch (\GuzzleHttp\Exception\ClientException $e) {
// do something
} catch (\GuzzleHttp\Exception\RequestException $e) {
// do something
}
return response;
我正在尝试将网站集成到在线支付系统中。 我有一个问题。我想向 https:/xxx.xx.xx.xx/cgi-bin/cgi_link 发送 post 请求,同时将用户重定向到同一页面。我该怎么做 ? 我试图通过 GuzzleHttp 做到这一点,但失败了 我不想在视图侧显示输入字段。
echo "
<input name=\"AMOUNT\" value=\"{$db_row['AMOUNT']}\" type=\"hidden\">
<input name=\"CURRENCY\" value=\"{$db_row['CURRENCY']}\" type=\"hidden\">
<input name=\"ORDER\" value=\"{$db_row['ORDER']}\" type=\"hidden\">
<input name=\"DESC\" value=\"{$db_row['DESC']}\" type=\"hidden\">
<input name=\"MERCH_NAME\" value=\"{$db_row['MERCH_NAME']}\" type=\"hidden\">
<input name=\"MERCH_URL\" value=\"{$db_row['MERCH_URL']}\" type=\"hidden\">
<input name=\"TERMINAL\" value=\"{$db_row['TERMINAL']}\" type=\"hidden\">
<input name=\"EMAIL\" value=\"{$db_row['EMAIL']}\" type=\"hidden\">
<input name=\"TRTYPE\" value=\"{$db_row['TRTYPE']}\" type=\"hidden\">
<input name=\"COUNTRY\" value=\"{$db_row['COUNTRY']}\" type=\"hidden\">
<input name=\"MERCH_GMT\" value=\"{$db_row['MERCH_GMT']}\" type=\"hidden\">
<input name=\"TIMESTAMP\" value=\"{$oper_time}\" type=\"hidden\">
<input name=\"NONCE\" value=\"{$nonce}\" type=\"hidden\">
<input name=\"BACKREF\" value=\"{$db_row['BACKREF']}\" type=\"hidden\">
<input name=\"LANG\" value=\"AZ\" type=\"hidden\">
";
试试这个
$guzzle = new \GuzzleHttp\Client;
try {
$response = $guzzle->post(env('API_URL'), [
'form_params' => [
'param_1' => '{data_1}',
'param_2' => '{data_2}',
'param_3' => '{data_3}',
'param_4' => '{data_4}',
'param_5' => '{data_5}'
],
]);
if(isset($response) && $response->getStatusCode() == 200) {
// do something
}
} catch (\GuzzleHttp\Exception\ClientException $e) {
// do something
} catch (\GuzzleHttp\Exception\RequestException $e) {
// do something
}
return response;