2016-08-29 5 views
0

В приложении для Android мне нужно использовать почтовый запрос для связи с D-Link W215. Я в основном делаю версию java o fthe код, найденный здесь: http://www.devttys0.com/2014/05/hacking-the-d-link-dsp-w215-smart-plug/. Проблема в том, что один из байтов, которые мне нужно отправить, это 0xAC, и когда он отправляется через сеть через java, он принимается как символ unicode \ 00ac, которые являются шестнадцатеричными символами 0xC2 0xAC. Есть ли способ отправки байта 0xAC. Благодарю.Android/Java Отправьте запрос на отправку по почте с символами, которые не переформатированы как UTF-8

Редактировать: Я также подтвердил, что проблема заключается в том, когда байты отправляются, поскольку данные верны, когда я проверяю их перед отправкой.

ответ

0

Используйте следующий код.

byte[] message = {0xAC}; 
Socket socket = ... 
DataOutputStream dOut = new DataOutputStream(socket.getOutputStream()); 
dOut.write(message); 
+0

Проблема в том, что мне нужно отправить полный HTTP-запрос. На W215 есть сервер, с которым я общаюсь. – Gene

+0

Преобразуйте строку запроса post post в массив байтов и подайте свой байт в определенную позицию. – bilalba

+0

Хорошо, я сделал это, но сообщение по-прежнему отправлено неправильно. Вы можете увидеть пример здесь: http: //www.posttestserver.com/data/2016/08/29/POST_TEST_GG/16.12.36518986871. Последняя строка содержит символы: @ \ ¬, где они должны быть: @ \ ¬. – Gene