ber*_*kes 7 php sockets redirect http http-status-code-301
我们有一段遗留代码(ab)fopen()通过HTTP 使用对资源的调用:
@fopen('http://example.com')
Run Code Online (Sandbox Code Playgroud)
我们希望将example.com移至另一台主机,然后发送"301 Permanently Moved",但是,我们并不完全确定是否@fopen()会遵循这一规定.
初步测试表明它没有.但也许我会错过一些配置文章.
从版本5.1.0开始,有max_redirects选项,这使得fopen HTTP包装器遵循Location重定向:
要遵循的最大重定向数.值1或更小意味着不遵循重定向.
默认为20.
您可能希望显式设置它,以防您的配置禁用此功能.从文档修改的示例:
<?php
$url = 'http://www.example.com/';
$opts = array(
'http' => array('method' => 'GET',
'max_redirects' => '20')
);
$context = stream_context_create($opts);
$stream = fopen($url, 'r', false, $context);
// header information as well as meta data
// about the stream
var_dump(stream_get_meta_data($stream));
// actual data at $url
var_dump(stream_get_contents($stream));
fclose($stream);
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3070 次 |
| 最近记录: |