gpt4 book ai didi

java - 在php中获取从Java发送的 header 和内容

转载 作者:行者123 更新时间:2023-12-01 11:40:32 25 4
gpt4 key购买 nike

Java 编码器向我发送一些数据(一些标题和图片内容)。它看起来像这样:

436f 6e74 656e 742d 4c65 6e67 7468 3a20
3138 3830 0d0a 0d0a ffd8 ffe0 0010 4a46
4946 0001 0101 0060 0060 0000 ffdb 0043
0010 0b0c 0e0c 0a10 0e0d 0e12 1110 1318
281a 1816 1618 3123 251d 283a 333d 3c39
3338 3740 485c 4e40 4457 4537 3850 6d51
...

我正在尝试使用 $queryHex=pack("H*", $query); 解析它,其中 $query = file_get_contents("php://input"); 当我尝试 var_dump $queryHex 我得到Co�@enB�Le�pth�18� 还有一些我认为是图片内容的不可读的符号。我还尝试设置编码 (header('Content-Type: text/html; charset=utf-8');) 并保留结果。我做错了什么?如何获取正确的数据?

更新:根据他的 API,他应该发送如下内容:

    POST /url_for_detect HTTP/1.1

Content-Type: image/jpeg; boundary=-
[DATA]

DATA是图片的内容。但那里有内容长度。他说没必要。但是我仍然看不到那里的内容类型或获取数据。让他向我发送他发送的查询。

最佳答案

您发布的字节包含。

Content-Length: 1880

FF D8 FF E0 00 10 4A 46 49 46 <-- the start of the JPEG file

正如 @awons 已经建议的那样。询问发件人他向您发送了什么。

编辑

用于将字节转换为二进制的“快速而肮脏”的小代码。

String content = "436f 6e74 656e 742d 4c65 6e67 7468 3a20"
+ "3138 3830 0d0a 0d0a ffd8 ffe0 0010 4a46"
+ "4946 0001 0101 0060 0060 0000 ffdb 0043"
+ "0010 0b0c 0e0c 0a10 0e0d 0e12 1110 1318"
+ "281a 1816 1618 3123 251d 283a 333d 3c39"
+ "3338 3740 485c 4e40 4457 4537 3850 6d51";

StringBuilder sb = new StringBuilder(content.replaceAll(" ", ""));
sb.delete(0, 48); // remove "Content-Length: 1880"
try (FileOutputStream fos = new FileOutputStream("content.jpg")) {
while (sb.length() > 2) {
fos.write(Integer.parseInt(sb.substring(0, 2), 16));
sb.delete(0, 2);
}
}

关于java - 在php中获取从Java发送的 header 和内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29560759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com