解析file

什么是user agent
User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
网站可以通过判断不同UA来呈现不同的网站,例如手机访问和PC访问显示不同的页面。
PHP在用file_get_contents函数采集网站时,有时会明明用浏览器可以看,但就是采不到任何内容。
这很有可能是服务器上做了设置,根据 User_agent判断是否为正常的浏览器请求,因为默认PHP的file_get_contents函数是不发送ua的。
如果要采集这样的网站,我们就必须要让PHP模拟浏览器发送UA,欺骗网站返回正常内容。

实现如下:
ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; 4399Box.560; .NET4.0C; .NET4.0E)');
这是模拟IE8环境下的UA,当然你也可以换成其他的。比如中火狐
也可以这样读取:

复制代码 代码如下:

$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Host: zh.wikipedia.orgrn" .
"Accept-language: zh-cnrn" .
"User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; 4399Box.560; .NET4.0C; .NET4.0E)" .
"Accept: *//*"
)
);

时间: 2024-11-04 17:14:00

解析file的相关文章

DOM解析XML,根节点标签内容判断

问题描述 xml文件如下:<?xml version="1.0" encoding="GB2312"?><学生花名册> <学生 性别 = "男"> <姓名>gray</姓名> <年龄>14</年龄> <电话>1234567</电话> </学生></学生花名册>我想实现的是,判断根节点的内容是否为 "学生花名

使用XML创建 EMAIL 模板

xml|创建|模板 发送邮件是web应用系统的一个基本功能.一般来说,邮件都有特定的类型,比如说密码提醒,欢迎信息,订单确认或者收信确认.尽管不同应用邮件的内容各不相同,但是发送邮件的过程基本上是一样的. 构建消息,发送给邮件服务器,发送. 当使用java开发的时候,我们常常使用JavaMail API 来连接邮件服务器发送邮件.但是这种方式过于笨重(主要由邮件的灵活性造成的),所以当你需要多次使用这种方式发送邮件的时候,最好写一个wrapper.根据使用的方式不同,wrapper可以是发送某一

vs2012解析不出using,只解析出System.IO.File这种形式,有什么解决方法没?

问题描述 vs2012解析不出using,只解析出System.IO.File这种形式,有什么解决方法没? vs2012解析不出using,只解析出System.IO.File这种形式,有什么解决方法没? 解决方案 检查下程序集有没有引用,程序集有没有冲突. 什么类型解析不了. 忽略IDE的提示,编译本身有没有问题? 解决方案二: 可以在代码段最前面加using System; 解决方案三: 例如这个,我添加引用之后就变成了 而不是using的形式

file not found. nginx php nginx 如何开启解析 PHP 的功能

file not found. nginx php 这个问题是你配置文件的问题: 查看就是了不要管 nginx 如何开启解析 PHP 的功能? # 成功安装后,创建 php-fpm.conf 配置文件,删除 nginx.conf 中"pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000"部分的注释 cd /usr/local/php/etc mv php-fpm.conf.default php-fpm.c

【POI】解析xls报错:java.util.zip.ZipException: error in opening zip file

今天使用POI解析XLS,报错如下: Servlet.service() for servlet [rest] in context with path [/cetBrand] threw exception [Request processing failed; nested exception is org.apache.poi.openxml4j.exceptions.InvalidOperationException: Can't open the specified file: 'd:

解析php file

方法1 :据官方手册上描述若php教程的safe mode相关的设置过于苛刻,就会出现这样的情形:尽管文件真实存在也被误报,认为文件不存在. 由 于服务器端的php.ini我们无法操纵,当用ini_set()也关闭不了safe mode模式,我们只有退而求其次,找一个更可靠.安全的检测方法来检测文件是否存在.我们可以借助 $_server['document_root'] 来加以实现.$_server['document_root'] 返回的是网站的根目录,该目录的最后一个子目录不包含目录标志符

解析使用JS 清空File控件的路径值

本篇文章是对使用JS清空File控件的路径值的方法进行了详细的分析介绍,需要的朋友参考下   1.关于如何用脚本修改fileupload控件值的问题, 开发环境vs2005,在上传文件时,需要一个取消的按钮来清空type=file的value,而且这个页面上有多个file控件 这个比较麻烦因为file的值本身是不允许用脚本修改的(安全角度考虑) 方法1).使用脚本把这个file的input移动到一个form中,然后调用reset,如果有多个这样的input当然还要再移出来.这个方法我不会采用,因

解析使用JS 清空File控件的路径值_javascript技巧

1.关于如何用脚本修改fileupload控件值的问题, 开发环境vs2005,在上传文件时,需要一个取消的按钮来清空type=file的value,而且这个页面上有多个file控件 这个比较麻烦因为file的值本身是不允许用脚本修改的(安全角度考虑) 方法1).使用脚本把这个file的input移动到一个form中,然后调用reset,如果有多个这样的input当然还要再移出来.这个方法我不会采用,因为对.net开发者 来讲习惯了一个页面就一个form所有控件都在其中. 方法2).这个方法有点

解析PHP中的file

PHP的file_get_contents获取远程页面内容,如果是gzip编码过的,返回的字符串就是编码后的乱码 1.解决方法,找个ungzip的函数来转换下 2.给你的url加个前缀,这样调用$content = file_get_contents("compress.zlib://".$url);无论页面是否经过gzip压缩,上述代码都可以正常工作!使用curl模块同样可解决问题 复制代码 代码如下: function curl_get($url, $gzip=false){ $c