1

我正在尝试从我的 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。

4

1 回答 1

0

我相信我已经完成了您在ChandlerQE中要求的内容。有关该方法,请参见ChandlerQE.java 。run()代码不是很漂亮,但基本上我使用 httpclient 来发布和获取,并使用 SAXParser 解析返回的 XML。

于 2010-02-08T22:25:51.603 回答