php - 7.4.2 版本的 PHP cURL 扩展是否支持带有 HTTP/3 的 cURL

标签 php curl php-curl quic http3

我可以使用 HTTP/3 而不是 HTTP/2、HTTP/1.1 或 HTTP/1.0 来 curl 一个支持 HTTP/3 的网站吗?这可能吗?如果可以,该怎么做?

最佳答案

是的,确实可以开始,但您需要进行调整和手动操作才能使其工作:

  1. 确保您的 PHP 使用内置的 libcurl 来支持 HTTP/3

  2. 为您的 PHP 程序提供必要的 HTTP3 符号,可能像下面的示例(因为 CURL/PHP 本身还不知道 HTTP/3)

  3. 确保您构建的 curl 使用的 QUIC/h3 库支持与您打算试用的测试服务器相同的 HTTP/3 草案版本

  4. HTTP/3 和 QUIC 尚未完成,预计会出现粗糙的边缘和故障。启用冗长并注意细节

http3ing 快乐!

if (!defined('CURL_HTTP_VERSION_3')) {
  define('CURL_HTTP_VERSION_3', 30);
}
    
$ch = curl_init("https://cloudflare-quic.com/");
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_3);
curl_exec($ch);

关于php - 7.4.2 版本的 PHP cURL 扩展是否支持带有 HTTP/3 的 cURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60274163/

相关文章:

php - 使用 cURL 将外部文件保存到我的服务器

php - Guzzle (35) gnutls_handshake() 失败 : An unexpected TLS packet was received over HTTP

php - 如何在 HTTP/1.1 中使用 PHP cURL

php - 在句柄关闭之前必须调用 curl_close() 两次,并且可以读取 cookie jar。这是一个错误吗?

javascript - 异步API和回调

php - 在 html<img> 标签中显示来自 curl 请求的图像

php - Laravel Blade {{ $variable 或 'Default Text' }} 不使用 URL

php - 一切都出了问题 : Php - MySQL

php - 登录 magento Ves Bakerop 主题时出现 404 Not Found 错误

php - 根据数组中的另一个 id 仅对多数组中的第一项进行排序(PHP)