Спасибо! Всё получилось. 3g wi-fi modem huawei e355 с андроид устройства путем POST запроса перезагружен! Если не вдаваться в подробности того, что http запрос не выполняется из основного потока (если кто не знающий этого, будет читать форум), а так же опустить блоки try/catch, то код авторизации выглядит примерно так:
public void makeSecondHttpPOSTRequest() {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://192.168.1.1/api/user/login");
String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><request><Username>admin</Username><Password>eW04NWoyNzZm</Password></request>";
InputStream inputStream = new ByteArrayInputStream(xmlString.getBytes());//init your own inputstream
InputStreamEntity inputStreamEntity = new InputStreamEntity(inputStream, xmlString.getBytes().length);
httppost.setEntity(inputStreamEntity);
HttpResponse response = httpclient.execute(httppost);
}
Никакие заголовки задавать при этом не требуется. (по крайней мере для e355)
Однако стоит заметить, что пароль здесь передаётся совсем не тот, который бы я вводил в форму логина. Я ещё не посмотрел, но похоже там какой-то javascript этот самый пароль кодирует. Догадываюсь конечно как, но надо уточнить..
Далее запрос на перезагрузку. Код выглядит так же за исключением того, что URL меняется на
"http://192.168.1.1/api/device/control", а xml тело запроса на
String xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><request><Control>1</Control></request>";
Собственно на этом всё. Если кому вдруг это будет нужно, но не понятно, стучите в skype: skyline0034