0

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

任何帮助,将不胜感激。

4

3 回答 3

2

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

于 2013-06-17T11:46:01.903 回答
2

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

<?php

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

echo $binary_data;

?>
于 2013-06-17T11:47:33.927 回答
1

您可以使用标头函数发回您想要的任何响应。如果您想发回客户响应代码,您可以使用:

<?
  $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();
?>

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

于 2013-06-17T11:44:07.317 回答