在php中回显二进制数据,以便Java代码

在php中回显二进制数据,以便Java代码,java,php,binary,Java,Php,Binary,我想从文件中读取二进制数据并将其发送到远程Java应用程序。 我发现: 我可以这样得到它(我代码的一部分): 我发送一些标题 header("Content-Type: multipart/related; boundary=bounary----I don't know if boundary value is private".$eol); header("MIME-Version: 1.0".$eol); header("C

我想从文件中读取二进制数据并将其发送到远程Java应用程序。 我发现: 我可以这样得到它(我代码的一部分):

我发送一些标题

header("Content-Type: multipart/related; boundary=bounary----I don't know if boundary value is private".$eol);
    header("MIME-Version: 1.0".$eol);
    header("Connection: Keep-Alive".$eol);
    header("Accept-Encoding: gzip, deflate".$eol);
    header("Host: host".$eol.$eol);
    header("Content-Type: multipart/related; boundary=bounary----I don't know if boundary value is private".$eol);
    header("Content-Type: multipart/related; boundary=bounary----I don't know if boundary value is private".$eol);
然后我把它打印成这样:

echo "--".$BOUNDARY.$eol;
echo "Content-Type: application/octet-stream".$eol;
echo "Content-Length: ".strlen($vector).$eol;
echo "Content-Transfer-Encoding: binary".$eol;
echo $eol.$vector.$eol;
echo "--".$BOUNDARY."--".$eol;
我在高级Rest客户端应用程序中测试它,并查看二进制数据:

0 0 0 72 0 54 0 55 0 97 0 56 0 51 0 49
 0 101 0 56 0 45 0 53 0 102 0 48 0 56 0 45
 0 52 0 100 0 49 0 99 0 45 0 97 0 57 0 57
 0 52 0 45 0 101 0 101 0 53 0 97 0 51 0 52
 0 49 0 52 0 50 0 54 0 57 0 51 0 0 0 1
 0 0 0 0 4 0 0 1 0 0 0 0 1 0 0 0...
但是Java程序员说存在一个空字符串而不是二进制数据?如何以正确的方式回显此二进制数据?什么会导致这个问题

更新:我们发现,无论我设置了什么内容长度标题,在他的应用程序中,他都会收到标题:内容长度:475
然而,在高级Rest客户端中,我看到了内容长度的价值。嗯,这可能会导致问题。它可能是由php引起的吗?

也许此行中的2
$eol
会导致后续的标头无法发送:

header("Host: host".$eol.$eol);
尝试将其更改为1,或者事实上,我怀疑您甚至不需要发送到header()的字符串中的EOL char

header("Host: host".$eol.$eol);