首頁 >後端開發 >php教程 >如何在沒有 cURL 的情況下在 PHP 中發送 POST 請求並檢索回應?

如何在沒有 cURL 的情況下在 PHP 中發送 POST 請求並檢索回應?

DDD
DDD原創
2024-12-29 01:55:09671瀏覽

How to Send POST Requests and Retrieve Responses in PHP Without cURL?

使用PHP 發送POST 請求

當遇到僅接受POST 方法的端點時,存取和讀取結果內容可能會很困難。本文探討了一種使用 PHP 發送 POST 請求並檢索伺服器回應的實用方法。

無CURL 方法:

適用於CURL 不可行的情況,以下利用PHP 原生file_get_contents() 函數的解決方案提供了另一種選擇:

$url = 'http://server.com/path';
$data = ['key1' => 'value1', 'key2' => 'value2'];

// Specify HTTP method and headers
$options = [
    'http' => [
        'header' => "Content-type: application/x-www-form-urlencoded\r\n",
        'method' => 'POST',
        'content' => http_build_query($data),
    ],
];

// Create stream context with POST data
$context = stream_context_create($options);

// Send POST request and retrieve response
$result = file_get_contents($url, false, $context);
if ($result === false) {
    // Handle error
}

var_dump($result);

This方法使用提供的選項建構HTTP 流上下文,並將POST請求發送到指定的 URL。然後,伺服器的回應儲存在 $result 變數中,提供對其內容的訪問,以便使用 DOMDocument 或 file_get_contents() 等方法進行進一步處理。

有關流上下文建立和自訂的其他信息,請參閱PHP 手冊:

  • stream_context_create: https://www.php.net/manual /en/function.stream-context-create.php

以上是如何在沒有 cURL 的情況下在 PHP 中發送 POST 請求並檢索回應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn