PHP POST请求引发HTTP/1.0而不是HTTP/1.1的原因可能是由于以下几个因素:
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n" .
"User-Agent: PHP\r\n" .
"Connection: close\r\n" .
"Protocol: HTTP/1.1\r\n",
'method' => 'POST',
'content' => http_build_query($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
在上述代码中,通过设置请求头中的"Protocol: HTTP/1.1"来指定使用HTTP/1.1协议。
总结起来,要解决PHP POST请求引发HTTP/1.0而不是HTTP/1.1的问题,可以考虑升级PHP版本、调整服务器配置、设置请求头或者检查代理服务器的支持情况。请注意,以上提供的解决方案仅供参考,具体操作可能因环境和需求而异。
领取专属 10元无门槛券
手把手带您无忧上云