访问 HTTP(s)网址 http://

http:// -- https:// — 访问 HTTP(s)网址

说明

允许通过 HTTP 1.0 的 GET方法,以只读访问文件或资源。 HTTP 请求会附带一个Host:头,用于兼容基于域名的虚拟主机。 如果在你的php.ini文件中或字节流上下文(context)配置了user_agent字符串,它也会被包含在请求之中。

数据流允许读取资源的body,而 headers 则储存在了$http_response_header变量里。

如果需要知道文档资源来自哪个 URL(经过所有重定向的处理后), 需要处理数据流返回的系列响应报头(response headers)。

Thefromdirective will be used for theFrom:header if set and not overwritten by the上下文(Context)选项和参数.

用法

  • http://example.com
  • http://example.com/file.php?var1=val1&var2=val2
  • http://user:password@example.com
  • https://example.com
  • https://example.com/file.php?var1=val1&var2=val2
  • https://user:password@example.com

可选项

封装协议概要
属性支持
allow_url_fopen限制Yes
允许读取Yes
允许写入No
允许添加No
允许同时读和写N/A
支持stat()No
支持unlink()No
支持rename()No
支持mkdir()No
支持rmdir()No

更新日志

版本说明
4.3.7检测 IIS 服务器避免"SSL: Fatal Protocol Error"错误。
4.3.0添加https://
4.0.5增加了对重定向的支持。

淘宝 adsense 商品推荐

正版 Google AdSense实战宝典:用谷歌广告联盟出海赚美元 第2版 seo搜索引擎优化 广告营销 网站运营书籍 AdSense从入门到精通

价格:47.7元

范例

Example #1 检测重定向后最终的 URL

<?php
$url = 'http://www.example.com/redirecting_page.php';

$fp = fopen($url, 'r');

$meta_data = stream_get_meta_data($fp);
foreach ($meta_data['wrapper_data'] as $response) {

    
    if (strtolower(substr($response, 0, 10)) == 'location: ') {

        
        $url = substr($response, 10);
    }

}

?>

注释

openssl扩展启用后才能够支持 HTTPS 协议。

HTTP 连接是只读的;还不支持对一个 HTTP 资源进行写数据或者复制文件。

比如发送POSTPUT请求, 可以在HTTP Contexts的支持下实现。

参见

HTTP context 选项

$http_response_header

stream_get_meta_data()- 从封装协议文件指针中取得报头/元数据