资源解释为图像,但使用MIME类型text / html,curl,php进行传输

时间:2014-01-19 19:26:14

标签: php curl mime-types

我收到了这个我以前没见过的错误。我正在使用cURL尝试从我的网站获取验证码图像,但是我得到了这个错误而不是我想要的图像。

if(isset($_GET['captcha'])) {
 $curl->open("GET","https://mydomain.com");
 $curl->exec();

 preg_match('/_mobile_sess=[^;]+/', $curl->getHeaders(), $sess);
 $_SESSION['cookie'] = $sess[0]; 

 preg_match('/ame="authenticity_token" type=\"hidden\" value=\"(.+?)\"/i',$curl->responseText, $tkn);

 $_SESSION['token'] = $tkn[1];
 preg_match('/\/signup\/captcha\/([0-9-a-z]+)\.gif/i', $curl->responseText, $cs);
 $_SESSION['captchaUrl'] = $cs[1];

 $curl->open("GET", "http://mydomain.com" . $cs[0]);
 $curl->cookie = $_SESSION['cookie'];
 $curl->exec();
 echo $curl->responseText;

 die;

}

我已经在我的HTML文档中将MIME类型设置为<meta http-equiv="Content-Type" content="image/gif">,但仍然遇到同样的问题。

这是我试图输出图像的形式。

if(empty($_SERVER['QUERY_STRING'])){
  echo "<center><form method='POST' action='?go'>
  <input  type='hidden' name='nameC' value='- SAFAL -' ><br/>
  <b>User Name</b><br><input name='login' size='30' id='login'    value='safal".rand(111111,9999999)."'><br/>
 <b>Password</b><br><input name='senha' id='senha' size='30' value='".rand()."'><br/>  <br>
 <img src='?captcha'><br/>
 <input name='cs' id='cs' placeholder='Put The Capcha' size='20'  onclick='if(this.value==\"Digite aqui\") this.value=\"\"'><br><br><br>
 <input type='submit' value='Click Here' id='btn'>
 </form>";
}

2 个答案:

答案 0 :(得分:6)

通过Google搜索偶然发现了这个问题。添加我的案例以供参考:

如果您使用单引号设置background-image: url('../img/sample.png');,则Chrome / Opera控制台也会显示此警告。

消除引号就可以了。

答案 1 :(得分:0)

放置标题('Content-Type:image / gif');在打印输出流之前,在php块代码中。