PHP中的CURL是否支持SPDY?

时间:2014-12-22 17:01:34

标签: php curl spdy

我在PHP中使用cURL连接到我知道使用SPDY来自Google的新协议的不同API。

但我不确定默认情况下PHP cURL是否支持SPDY。如果不是,有没有办法配置它以便它支持SPDY?

1 个答案:

答案 0 :(得分:0)

在我的系统上使用PHP 5.5.19和curl 7.39.0,答案是否定的。 您可以通过启用"自动"来检查您的卷曲支持。编码,使卷曲列表所有支持的编码到服务器(通过CURLOPT_ENCODING->空字符串自动启用),然后检查curl发送的标题,如下所示:

<?php
    if(array_key_exists("curlcall",$_GET)){
    if(is_callable("http_get_request_headers")){
    var_dump(http_get_request_headers());       
    }elseif(is_callable("apache_request_headers")){
        var_dump(apache_request_headers());
    } else {
        throw new Exception("unsupported enviroment (both http_get_request_headers and apache_request_headers missing!)");
    }
    } else {
    $ch=curl_init("http://127.0.0.1/a.php?curlcall");
    curl_setopt($ch,CURLOPT_ENCODING,"");
    curl_exec($ch);
    }

在我的系统上,我得到了这个输出:

array(3) { ["Host"]=> string(9) "127.0.0.1" ["Accept"]=> string(3) "*/*" 
["Accept-Encoding"]=> string(13) "deflate, gzip" }

意味着支持deflate和gzip(以及默认 - 没有编码/普通)(没有SPDY支持,但我无法访问)