首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用假引用进行图像捕获

使用假引用进行图像捕获
EN

Stack Overflow用户
提问于 2010-06-11 00:45:05
回答 1查看 582关注 0票数 0

我正在努力抓取一张照片...听起来很傻,但请查看此链接:P

http://manga.justcarl.co.uk/A/Oishii_Kankei/31/1

如果您获得图像URL,则加载图像。回过头来看,它看起来工作得很好,但这只是浏览器加载缓存的图像。

这个应用程序之前运行得很好,我想他们在他们的图像上实现了某种类型的引用检查。因此,我找到了一些代码,并提出了以下内容...

代码语言:javascript
复制
$ref = 'http://www.thesite.com/'; 
$file = 'theimage.jpg';
$hdrs = array( 'http' => array(
 'method' => "GET",
 'header'=> "accept-language: en\r\n" . 
  "Accept:application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*\/*;q=0.5\r\n" .
  "Referer: $ref\r\n" . // Setting the http-referer
  "Content-Type: image/jpeg\r\n" 
 )
);
// get the requested page from the server
// with our header as a request-header
$context = stream_context_create($hdrs);

$fp = fopen($imgChapterPath.$file, 'rb', false, $context);
fpassthru($fp);
fclose($fp);

从本质上讲,它是在编造一个虚假的推荐人。我所得到的只是一堆胡言乱语(感谢fpassthru),所以我认为它得到了图像,但我恐怕说我不知道如何输出/显示收集的图像。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-11 00:49:02

在调用fpassthru之前尝试调用此函数:

代码语言:javascript
复制
header('Content-Type: image/jpeg');

这将告诉您的浏览器下一个数据是JPEG图像。否则PHP会自动说它是一个HTML文档,这显然是错误的。

注意:请记住,所有对header的调用都必须在将其他内容输出到浏览器之前进行,这意味着在调用header之前不能有任何echoprint调用,并且在开始<?php标记之前不能有任何东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3016492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档