首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 程式內部發送 POST 請求的標準作法

     編輯:PHP 相關知識

PHP 程式內部發送 POST 請求的標準作法

在 PHP 程式中主動向其他 URL 發送 POST 資料(如呼叫 API、整合第三方服務)是常見需求。使用 cURL 擴充套件是最靈活、穩健的方案。

核心代碼範例

<?php
$postData = [
    'data1' => 'testdata1',
    'data2' => 'testdata2',
    'data3' => 'testdata3',
];
$url = 'https://yourdomain/do.php';

// 組裝 application/x-www-form-urlencoded 字串
$query = http_build_query($postData); // 內建函式自動處理 urlencode

$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL            => $url,
    CURLOPT_POST           => true,
    CURLOPT_POSTFIELDS     => $query,
    CURLOPT_RETURNTRANSFER => true,  // 直接回傳回應內容而非輸出
    CURLOPT_HEADER         => false,
]);
$result = curl_exec($ch);
if ($result === false) {
    error_log('cURL 錯誤: ' . curl_error($ch));
}
curl_close($ch);
// $result 即為遠端回應
?>

關鍵點說明

  • 使用 http_build_query() 替代手動迴圈組裝,自動處理 URL 編碼與特殊字元。
  • 設定 CURLOPT_RETURNTRANSFER => true 讓 curl_exec() 回傳字串,方便後續處理。
  • 生產環境建議加入逾時設定:CURLOPT_TIMEOUT => 10(秒)、CURLOPT_CONNECTTIMEOUT => 5。
  • 若需發送 JSON,將 CURLOPT_POSTFIELDS 設為 json_encode($data),並加入 Header:
    CURLOPT_HTTPHEADER => ['Content-Type: application/json']。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved