gpt4 book ai didi

php - 如何在 PHP 中发送 HTTP/2 POST 请求

转载 作者:IT王子 更新时间:2023-10-29 00:07:26 26 4
gpt4 key购买 nike

我在 Sending HTTP/2 POST request in Ruby 发现了一个类似的问题但我想用 PHP 更新我的服务器

此处描述了基于 HTTP/2 的新 Apple 推送通知 API:https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/APNsProviderAPI.html

任何有 HTTP/2 经验的人都可以帮助我以 PHP 客户端的身份发出请求。

最佳答案

PHP >= 5.5.24 的 CURL 扩展支持 HTTP/2。 (自 this commit 起)

您还需要安装 libcurl(curl 函数使用的底层库)并启用 HTTP/2 支持。这意味着比 7.38.0 更新的 libcurl,但实际上,越新越好。 Libcurl 必须在编译时使用 --with-nghttp2 标志显式启用 HTTP/2 支持。

只需像平常一样使用 curl,然后设置 CURLOPT_HTTP_VERSION通过传入 CURL_HTTP_VERSION_2_0 来使用 HTTP/2 的选项。然后你将把请求升级到版本 2如果客户端和服务器都支持它。

在 PHP 5.5.24 之前,如果 libcurl 构建时支持 HTTP/2,您可以显式传入 CURL_HTTP_VERSION_2_0 的 int 值,因为 PHP 仍会将其传递给 libcurl。目前,它的值为 3 - 这不应该改变,但可以

if (!defined('CURL_HTTP_VERSION_2_0')) {
define('CURL_HTTP_VERSION_2_0', 3);
}

$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0);

关于php - 如何在 PHP 中发送 HTTP/2 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34606801/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com