无法在本地网络中获取http标头

时间:2016-07-26 14:16:05

标签: php http curl

我正在进行像素跟踪但是当我尝试使用cURL获取HTTP标头时,它会返回:

Output http://image.prntscr.com/image/644e0c04a08e445c82e3381eed3b42f4.jpeg

当前代码:

<?php
  $img = imagecreate(1,1);
  $white = imagecolorallocate($img, 255, 255, 255);
  imagesetpixel($img,1,1,$white);
  header("content-type: image/jpg");
  imagejpeg($img);
  imagedestroy($img);
  $file = fopen("results.txt", "a");
  $ip = $_SERVER['REMOTE_ADDR'];
  $date = date("r");
  fwrite($file, "$ip from: $_SERVER['HTTP_REFERER'] at $date");
  fclose($file);
?>

1 个答案:

答案 0 :(得分:1)

  1. 首先添加第i行records.txt
  2. 生成图片
  3. 执行ob_clean(),如果发生警告,它将删除输出
  4. 提供图像输出
  5. 不要关闭php标记。
  6. 使用浏览器而不是CURL尝试它,因为curl输出应该是garbase集合,因为输出是二进制格式。
  7. PHP:

    <?php
    
      $file = fopen("results.txt", "a");
      $ip = $_SERVER['REMOTE_ADDR'];
      $date = date("r");
      fwrite($file, "$ip from: $_SERVER['HTTP_REFERER'] at $date");
      fclose($file);
      $img = imagecreate(1,1);
      $white = imagecolorallocate($img, 255, 255, 255);
      imagesetpixel($img,1,1,$white);
      header("content-type: image/jpg");
      ob_clean();
      imagejpeg($img);
      imagedestroy($img);