Delphi IdHTTP.get和PHP file_get_contents显示相同URL的不同文本

时间:2014-10-31 18:15:36

标签: php xml delphi http file-get-contents

我有link

我曾多次使用IdHTTP.Get(link)(Delphi 2009)成功下载相应的数据。

以下是我得到的部分结果:

<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:gd="http://schemas.google.com/g/2005" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007" gd:etag="W/&quot;DEIMRn47eCp7I2A9XRdXF0o.&quot;">
  <id>tag:youtube.com,2008:user:-lHJZR3Gqxm24_Vd_AJ5Yw</id>
  <published>2010-04-29T10:54:00.000Z</published>
  <updated>2014-10-31T17:29:47.000Z</updated>
  ...
</entry>

在PHP中我做:

$content = file_get_contents(link);
echo $content;

这是我在页面上看到的确切结果:

tag:youtube.com,2008:user:-lHJZR3Gqxm24_Vd_AJ5Yw2010-04-29T10:54:00.000Z2014-10-31T17:29:47.000ZBusinessy stuff: business dot pewdiepie at gmail dot comPewDiePiehttp_gdata.youtube.com/feeds/api/users/PewDiePie-lHJZR3Gqxm24_Vd_AJ5YwUC-lHJZR3Gqxm24_Vd_AJ5Yw117663191659499528404SE-lHJZR3Gqxm24_Vd_AJ5Ywpewdiepie

PHP新手。请告诉我的错误在哪里。

1 个答案:

答案 0 :(得分:4)

您在PHP中获得相同的结果,但您将其作为HTML输出到浏览器。浏览器忽略它不知道的所有标签并输出文本内容。在浏览器中打开源视图,您将看到标记。

备选方案:

使用转义实体输出结果:

$content = file_get_contents(link);
echo htmlspecialchars($content);

以纯文本格式输出结果:

$content = file_get_contents(link);
header('Content-Type: text/plain');
echo $content;