Heim > Backend-Entwicklung > PHP-Tutorial > 请教一个奇怪的 Feed 源解析的问题。

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

WBOY
Freigeben: 2016-06-06 20:46:54
Original
1031 Leute haben es durchsucht

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage