PHP使用file_get_content设置头信息的方法

本文实例讲述了PHP使用file_get_content设置头信息的方法。分享给大家供大家参考,具体如下:

直接上代码:

<?php
/**
Accept application/json
Accept-Encoding gzip, deflate
Accept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Connection keep-alive
Cookie mzys_is_frist_access=1; mzys_c_uuid=guest_215cbc0979b5bd2; mzys_access20130610=1; mzys_qz_uuid=d6d4640f93cb7a4; CNZZDATA30040410=cnzz_eid%3D1008690174-1370849811-http%253A%252F%252Fm.120ask.com%26ntime%3D1370855345%26cnzz_a%3D43%26retime%3D1370855484258%26sin%3D%26ltime%3D1370855484258%26rtime%3D0; PHPSESSID=4kacoqfe4ae33km3h0l2imjfd6
Host m.120ask.com
Referer http://m.120ask.com/health/show?page=2&id=84882&type=17
User-Agent Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20100101 Firefox/21.0
X-Requested-With XMLHttpRequest
 */
$hdrs = array(
  'http' =>array('header' =>
   "Accept: application/json\r\n" .
   "Accept-Encoding: gzip, deflate\r\n" .
   "Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3\r\n" .
   "Accept-Encoding: gzip, deflate\r\n" .
   "Connection: keep-alive\r\n" .
   "Cookie: mzys_is_frist_access=1; mzys_c_uuid=guest_215cbc0979b5bd2; mzys_access20130610=1; mzys_qz_uuid=d6d4640f93cb7a4; CNZZDATA30040410=cnzz_eid%3D1008690174-1370849811-http%253A%252F%252Fm.120ask.com%26ntime%3D1370855345%26cnzz_a%3D43%26retime%3D1370855484258%26sin%3D%26ltime%3D1370855484258%26rtime%3D0; PHPSESSID=4kacoqfe4ae33km3h0l2imjfd6\r\n" .
   "Host: m.120ask.com\r\n" .
   "Referer: http://m.120ask.com/health/show?page=2&id=84882&type=17\r\n" .
   "User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20100101 Firefox/21.0\r\n" .
   "X-Requested-With: XMLHttpRequest",
   'timeout'=>2
  ),
);
$context = stream_context_create($hdrs);
//方式1
// $fp = fopen("http://m.120ask.com/health/show?page=2&id=84882&type=17", 'r', false, $context);
// fpassthru($fp);
// fclose($fp);
//方式2
//echo file_get_contents('http://m.120ask.com/health/show?page=2&id=84882&type=17', 0, $context);

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基本语法入门教程》、《PHP错误与异常处理方法总结》及《php常用函数与技巧总结》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • PHP file_get_contents函数读取远程数据超时的解决方法

    在网络状况比较差的情况下file_get_contents函数经常读取远程数据失败. 解决办法如下: 复制代码 代码如下: /*设置超时配合失败之后尝试多次读取,效果比原先好很多*/ $url = 'http://www.jb51.net';           $opts = array(            'http'=>array(           'method'=>"GET",           'timeout'=>1, //设置超时   )  

  • php 使用file_get_contents读取大文件的方法

    当我们遇到文本文件体积很大时,比如超过几十M甚至几百M几G的大文件,用记事本或者其它编辑器打开往往不能成功,因为他们都需要把文件内容全部放到内存里面,这时就会发生内存溢出而打开错误,遇到这种情况我们可以使用PHP的文件读取函数file_get_contents()进行分段读取. 函数说明 string file_get_contents ( string $filename [, bool $use_include_path [, resource $context [, int $offset

  • PHP file_get_contents设置超时处理方法

    file_get_contents的超时处理 话说,从PHP5开始,file_get_content已经支持context了(手册上写着:5.0.0 Added the context support. ),也就是说,从5.0开始,file_get_contents其实也可以POST数据. 今天说的这篇是讲超时的,确实在跨服务器提交的时候,不可避免的会遇到超时的情况,这个时候怎么办?set_time_limit是没有用的,只有用context中的timeout时间来控制.相反,我们不是要抑止,而

  • PHP中使用file_get_contents post数据代码例子

    废话不多说,上代码: 复制代码 代码如下: $data = array(     'name' => 'Joe',     'website' => 'www.jb51.net' ); $data = http_build_query($data); $data = json_encode($data); $json = file_get_contents($url, 0, stream_context_create(array(     'http' => array(        

  • PHP stream_context_create()作用和用法分析

    作用:创建并返回一个文本数据流并应用各种选项,可用于fopen(),file_get_contents()等过程的超时设置.代理服务器.请求方式.头信息设置的特殊过程. 函数原型:resource stream_context_create ([ array $options [, array $params ]] ) 用法 例子一: 复制代码 代码如下: <?php $opts = array( 'http-->array( 'method'=>"GET", 'he

  • PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)

    方法一: 在php中,抓取https的网站,提示如下的错误内容: Warning: file_get_contents() [function.file-get-contents]: failed to open stream: Invalid argument in I:Webmyphpa.php on line 16 打开php.ini文件找到 ;extension=php_openssl.dll ,去掉双引号";" ,重启web服务器即可. apache服务器的话,可以同时启用m

  • PHP stream_context_create()函数的使用示例

    stream_context_create()函数是用来 创建打开文件的上下文件选项 ,用于fopen(),file_get_contents()等过程的超时设置.代理服务器.请求方式.头信息设置的特殊过程. 比如说,上篇php教程中gd库实现下载网页所有图片中,第10行: 利用了stream_context_create()设置代理服务器: 复制代码 代码如下: //设置代理服务器 $opts = array('http'=>array('request_fulluri'=>true));

  • php中file_get_contents与curl性能比较分析

    本文实例讲述了php中file_get_contents与curl性能比较分析.分享给大家供大家参考.具体如下: 在php中如果不仔细的去分析性能会发现file_get_contents与curl两个同很多共同点的,他们都可以采集文件打开文件,但是如果仔细一对比会发现很多不同点,下面我们一起来看看file_get_contents与curl区别. PHP中fopen,file_get_contents,curl函数的区别: 1.fopen /file_get_contents 每次请求都会重新做

  • PHP中使用file_get_contents抓取网页中文乱码问题解决方法

    本文实例讲述了PHP中使用file_get_contents抓取网页中文乱码问题解决方法.分享给大家供大家参考.具体方法如下: file_get_contents函数本来就是一个非常优秀的php自带本地与远程文件操作函数,它可以让我们不花吹挥之力把远程数据直接下载,但我在使用它读取网页时会碰到有些页面是乱码了,这里就来给各位总结具体的解决办法. 根据网上有朋友介绍说原因可能是服务器开了GZIP压缩,下面是用firebug查看我的网站的头信息,Gzip是开了的,请求头信息原始头信息,代码如下: 复

  • php中curl、fsocket、file_get_content三个函数的使用比较

    抓取远程内容,之前一直都在用file_get_content函数,其实早就知道有curl这么一个好东西的存在,但是看了一眼后感觉使用颇有些复杂,没有file_get_content那么简单,再就是需求也不大,所以没有学习使用curl.直到最近,要做一个网页小偷程序的时候才发现file_get_content已经完全不能满足需求了.我觉得,在读取远程内容的时候,file_get_content除了使用比curl便捷以外,其他都没有curl好. php中curl和file_get_content的一

  • php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)

    那么如果考虑突破防盗链的措施,就需要考虑在 HTTP_REFERER 上面做手脚了.PHP 脚本中对应的变量是 $_SERVER['HTTP_REFERER'] ,它存储了 HTTP_REFERER 的值. 由于直接访问目标 URL 资源已经被上述防盗链的措施给屏蔽,所以我们需要个类似网关的玩意去获取.说白了就是编写已经包装过的 HTTP 头的 PHP 脚本. 下面是简单的函数实现: 复制代码 代码如下: function getRemoteFile($url, $refer = '') { $

  • PHP中file_get_contents高級用法实例

    本文实例讲述了PHP中file_get_contents高级用法,分享给大家供大家参考.具体分析如下: 首先解决file_get_contents的超时问题,在超时返回错误后就象js中的settimeout那样进行一次尝试,错误超过3次或者5次后就确认为无法连线伺服器而彻底放弃. 这裡就简单介绍两种解决方法: 一.增加超时的时间限制 注意:set_time_limit只是设定你的PHP程式的超时时间,而不是file_get_contents函数读取URL的超时时间. 我一开始以为set_time

随机推荐