使用PHP发送自定义HTTP响应

时间:2013-06-17 11:41:14

标签: php pear httpresponse pecl

我想将自定义HTTP响应发送回请求GET到php脚本的应用程序。正文将采用二进制格式(八位字节流)。我想知道是否有一种简单的方法可以做到这一点?我正在研究PECL中的HttpResponse类,但现在无法安装它。我并不需要所有其他功能,所以我正在寻找更简单的东西。

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:2)

您始终可以使用header()函数设置HTTP标头,然后使用print,echo或任何其他常用方法输出二进制数据。将Content-Type http标头发送到八位字节流,它应该可以正常工作。

答案 1 :(得分:2)

PHP内置了header()函数,因此您可以自定义响应,而无需额外的库:

<?php

header('Content-Type: application/octet-stream');
header('X-Powered-By: l3utterfly');

echo $binary_data;

?>

答案 2 :(得分:1)

您可以使用header功能发送回您想要的任何回复。如果要发回客户响应代码,可以使用:

<?
  $protocol = (isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0');

  //change the code and message to whatever. But I would keep it valid codes so browsers can handle it.
  //see http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

  header($protocol . ' 404 Not Found');
  exit();
?>

如果您想发送二进制数据,请将标题更改为正确的内容类型并回显二进制数据。