еще одно крошечное препятствие на пути моего обучения Android.
вот мой код:
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
byte[] encodedPassword = (user + ":" + pass).getBytes();
String auth = "Basic " + Base64.encodeToString(encodedPassword, false);
con.setRequestProperty("Authorization", auth);
con.setRequestMethod("GET");
con.setRequestProperty("Content-Type","text/xml");
con.setRequestProperty("Content-Length","" + Integer.toString(urlParameters.getBytes().length));
con.setRequestProperty("Content-Language", "en-US");
con.setRequestProperty("Connection", "close");
con.setUseCaches(false);
con.setDoOutput(true);
con.setDoInput(true);
con.setAllowUserInteraction(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
int statusCode = ((HttpURLConnection) con).getResponseCode();
Log.d(TAG, "Response Code = " + statusCode + " Content-Length = " + con.getContentLength());
Я получил код ответа = 200 и длину контента = 2593, так что я знаю, что у меня есть доступк файлу
DataInputStream re = new DataInputStream(con.getInputStream());
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
XMLmyHandler myHandler = new XMLmyHandler();
xr.setContentHandler(myHandler);
xr.parse(new InputSource(re));
файл хорошо отформатирован, я скопировал его на локальный незащищенный http-сервер, и он работал отлично.
К сожалению, когда я пытаюсь сделать то же самое из безопасногоhttp это не сработает.
также, с моими небезопасными http успешными попытками я использую HttpClient для получения потока, а не этот метод.
однако мои попытки использовать HttpClient с безопасным http с треском провалились.
Я бы предпочел оставить этот метод, если вы знаете какой-либо способ извлечь поток из моего "con", который работаетс SAX, пожалуйста, дайте мне знать !!!спасибо за любую помощь, которую я получу.