首頁 > 後端開發 > php教程 > 请教一个奇怪的 Feed 源解析的问题。

请教一个奇怪的 Feed 源解析的问题。

WBOY
發布: 2016-06-06 20:46:54
原創
1022 人瀏覽過

在项目需求中有关于订阅源解析的任务,遇到这样一个比较奇怪的 Feed 源:http://nshipster.com/feed.xml。

这个 feed 可以在浏览器中直接打开,也就是浏览器可以成功解析。但是一旦涉及到命令行的时候,就会出现各种乱码,无法成功解析。

抛开项目其他的细节,单单是抓取这个 feed 也会出现问题,在 PHP 环境中使用一下几种方法测试都没成功:

  • 直接使用 file_get_contents() 函数
  • 使用 curl 模拟浏览器抓取
  • 直接使用 DOMdocument 或者 simplexml 载入

在抓取的过程中尝试更改相关的编码以及增加 HTTP 文件类型和编码的头部信息输出也都是乱码。

唯一觉得特别的是这个源比其他的要大一些,大约 1.7M,会不会是因为这个原因?

回复内容:

在项目需求中有关于订阅源解析的任务,遇到这样一个比较奇怪的 Feed 源:http://nshipster.com/feed.xml。

这个 feed 可以在浏览器中直接打开,也就是浏览器可以成功解析。但是一旦涉及到命令行的时候,就会出现各种乱码,无法成功解析。

抛开项目其他的细节,单单是抓取这个 feed 也会出现问题,在 PHP 环境中使用一下几种方法测试都没成功:

  • 直接使用 file_get_contents() 函数
  • 使用 curl 模拟浏览器抓取
  • 直接使用 DOMdocument 或者 simplexml 载入

在抓取的过程中尝试更改相关的编码以及增加 HTTP 文件类型和编码的头部信息输出也都是乱码。

唯一觉得特别的是这个源比其他的要大一些,大约 1.7M,会不会是因为这个原因?

自问自答,经过测试,乱码的原因是因为该 feed 采用了 gzip 压缩,但是在 response 的首部信息中没有给出相应的信息。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板