【发布时间】:2012-03-31 20:40:51
【问题描述】:
我每 30 分钟通过 cron 运行一个 PHP 脚本,该脚本会解析我网站的一些页面并将其保存在同一台服务器上。我需要将脚本作为 Firefox 或 chrome 用户代理运行,因为解析的页面对 CSS3 样式有一些界面依赖性。
我在我的脚本中尝试了这个:
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13");
但 Firefox 或 Chrome 依赖的样式表不会随它一起加载。我尝试了双引号和单引号。
我的问题是:是否可以通过服务器而不是浏览器来欺骗用户代理以及如何欺骗脚本。
注意:我知道我的浏览器对界面的依赖性很差。但我想知道这是否可能。
编辑
我的脚本通过服务器上的站点地图运行,并在站点地图中创建页面的 html 缓存。它不需要执行任何 js 或 css 文件。唯一的事情是欺骗用户代理,以便生成的缓存包含该浏览器的额外 js 和 css 文件,这些文件包含在标头中。
您可以认为我正在为所有浏览器类型(IE、webkits 和 firefox)生成缓存文件。因此,我可以根据用户的浏览器向用户提供缓存文件。目前我正在为所有用户提供相同的文件,即没有额外的 css 文件。
我认为我需要将 css 文件硬编码到我的页面中,以便它始终包含在缓存中(不兼容的浏览器不会显示任何更改,但只会增加他们的文件开销)。还是谢谢
【问题讨论】:
标签: php curl cron user-agent