使用 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 手册:
以上是如何在没有 cURL 的情况下在 PHP 中发送 POST 请求并检索响应?的详细内容。更多信息请关注PHP中文网其他相关文章!