我正在尝试从我的 android 应用程序调用 REST 服务(需要身份验证)。我已经使用不需要身份验证的 URL 成功执行此操作,但不确定用于身份验证的正确方法。我目前正在使用 Sax Parser 使用 xml 并url.openStream()
像这样调用:
QuestionHandler myQuestionHandler = new QuestionHandler();
XMLReader xr = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
xr.setContentHandler(myQuestionHandler);
xr.parse(new InputSource(new URL('MyUnAuthenticatedURL').openStream()));
handler.post(new Runnable() {
public void run() {
recentQuestions = myQuestionHandler.getResultList();
loadQuestions = false;
fillData();
}
});
我读到我应该使用org.apache.http.impl.client.DefaultHttpClient
默认会话cookie来利用HTTP基本身份验证,但我不明白这应该如何与Sax Parser一起完成。
这里的主要目标是我想调用一个需要经过身份验证的用户名的 URL,如果用户名通过密码进行身份验证,则让该 URL 返回 XML。