我在PHP中使用cURL连接到我知道使用SPDY来自Google的新协议的不同API。
但我不确定默认情况下PHP cURL是否支持SPDY。如果不是,有没有办法配置它以便它支持SPDY?
答案 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支持,但我无法访问)