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

WBOY
Libérer: 2016-06-06 20:46:54
original
966 Les gens l'ont consulté

在项目需求中有关于订阅源解析的任务,遇到这样一个比较奇怪的 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 的首部信息中没有给出相应的信息。

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!