Я пытаюсь создать приложение для Android на Java, и мне нужно отправить XML вместе с некоторой другой POST-информацией
Это работает, когда строка не содержит XML, и когда она содержит XML, подключается только POST-ключ для XML, а не содержимое
Я отправляю POST-информацию, используя следующий код
// Check if there is nothing to input
if (input == null)
input = new HashMap<String, String>();
// Add the mobile's ID
input.put("MobileID", ((TelephonyManager)cxt.getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId());
// The string for the input
String strInput = "";
// For each input
for (Entry<String, String> ent : input.entrySet()) {
// Check if the string is not empty
if (strInput.length() > 0)
strInput += "&";
// Add to the String
strInput += URLEncoder.encode(ent.getKey(), Encoding.UTF_8.name()) + "=" + URLEncoder.encode(ent.getValue(), Encoding.UTF_8.name());
}
// Open the connection and setup default values
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
conn.setRequestMethod("POST");
// Set the RequestProperties
conn.setRequestProperty("Authorization", "Basic " + CtrSettings.getInstance().getAuthentication());
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Content-Length", strInput.getBytes().length + "");
// Set the booleans for the connection
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
// Create the input
DataOutputStream dos = new DataOutputStream(conn.getOutputStream());
dos.write(strInput.getBytes());
dos.flush();
dos.close();
// Return the connection
return conn;
Кто-нибудь может мне сказать, что я делаю не так?
Я что-то упускаю из-за Content-Type или?
Другой метод может заключаться в том, чтобы избежать использования XML внутри другой строки XML, но я не хочу, чтобы PHP распознал его как XML (и теги XML) до того, как я удалю (или каким словом это будет?) It