Получить заголовки и контент, отправленный с Java в Stack Overflow

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 @ enBLepth18
и чем некоторые нечитаемые символы, которые я предполагаю, чтобы быть содержанием изображения.
Также я попытался установить кодировку (header('Content-Type: text/html; charset=utf-8');) и результат остается.
Что я делаю не так? Как получить правильные данные?

Обновить:
Согласно его API он должен отправить что-то вроде этого:

    POST /url_for_detect HTTP/1.1

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

ДАННЫЕ — это содержание картинки.
Но там есть длина контента. Он сказал, что это не обязательно. Однако я до сих пор не могу увидеть тип контента там или получить данные. Попросил его отправить мне запрос, который он отправляет.

0

Решение

Отправленные вами байты содержат.

Content-Length: 1880

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

Как уже предложил @awons. Спросите отправителя, что он отправил вам.

редактировать

Небольшой «quick’n’dirty» код для преобразования байтов в двоичный.

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);
}
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]