【问题标题】:Get Header Response Body获取标头响应正文
【发布时间】:2012-05-02 01:24:34
【问题描述】:

我正在使用 php 开发一个 twitter 搜索 api,它能够搜索 twitter,并保存推文中发布的图像。 这一切都很好,但是对于 facebook,不是在网页中加载图像,而是在响应之后加载。使用 firebug,转到 Net 标签,我可以在 getphoto() 的响应选项卡下看到我需要的 html 源代码。我希望从这个 html 文本中获取一个 img src,但是 Facebook 似乎加载了基本结构,然后重新加载带有图像的页面。

我的问题是:我怎样才能得到这个“响应体”?

我以前使用过 get_headers() ,但我认为它在这种情况下不起作用,我已经在网上搜索了这个问题的答案,但没有出现。

任何帮助将不胜感激,谢谢。 不要认为我的代码会帮助解释,但愿意放一些

编辑:

Facebook 网址示例:/https://www.facebook.com/photo.php?pid=1258064&l=acb54aab14&id=110298935669685

这会将您带到包含图像的页面

这是图片标签:

img class="fbPhotoImage img" id="fbPhotoImage" src="https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-ash3/522357_398602740172635_110298935669685_1258064_1425533517_n.jpg" alt>

但这在响应通过之前不会显示出来。

我有一个 get_header 函数来扩展缩短的 URL,因为 twitter 喜欢它们,这可以从其他 3rd 方照片网站获取和图像,具有多个缩短/重定向。

以前没有使用过 cURL,这是最好/唯一的方法吗?

再次感谢

【问题讨论】:

  • 你能发布一个示例 FB img URL 吗?

标签: php html image header firebug


【解决方案1】:

图片不是随网页加载,而是在响应后加载

我不知道这是什么意思。

我只能猜测您尝试从中获取 html 的 URL(您的代码应该解析该 URL 以提取图像 URL)实际上正在发出重定向。

使用 curl 进行传输并告诉它遵循重定向 - 注意,这仅适用于标头重定向 - 不适用于元等效重定向、元刷新重定向或 javascript 位置重定向。

(也许 Faceboo0k 不想让你窃取他们的内容?)

【讨论】:

  • 通过“图像不是随网页加载,而是在响应中加载”我的意思是如果我输出网页的 filegetcontents(Url),div/整个图片的图像标签不存在。但是如上所述使用萤火虫,在页面加载后,我可以在脚本中看到图像标签。这让我相信它必须加载到脚本或其他东西中。所以我需要获取响应html或完全加载的网页。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-07
  • 1970-01-01
  • 1970-01-01
  • 2011-06-14
  • 1970-01-01
  • 2013-06-19
  • 2015-11-15
相关资源
最近更新 更多