gpt4 book ai didi

android - 在 Android 中使用 HttpURLConnection 从 url 获取 xml

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:16:33 25 4
gpt4 key购买 nike

我使用支持 Apache HTTP 客户端从 url 获取 xml。

public String getXmlFromUrl(String url) {
String xml = null;

try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);

HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
xml = EntityUtils.toString(httpEntity, "UTF-8");

} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// return XML
return xml;
}

Google 宣布从 Android 6.0 版本开始取消对 Apache HTTP 客户端的支持,转而使用 HttpURLConnection 类。最后,我想使用 HttpURLConnection 从 url 获取 xml,但我不知道!有人可以帮助我:)

最佳答案

作为一般提示,由于您没有触及它,我建议在 IntentService 中执行所有 Web 请求,这样它就不会阻塞您的 UI 线程。至于答案,您可以像这样使用 HttpURLConnection

public String getXMLFromUrl(String url) {
BufferedReader br = null;
try {
HttpURLConnection conn = (HttpURLConnection)(new URL(url)).openConnection();
br = new BufferedReader(new InputStreamReader(conn.getInputStream()));

String line;
final StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line).append("\n");
}

return sb.toString();
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
try {
if (br != null) br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

由于代码更改很小,因此应该不会太难理解,但如果您有任何问题,我很乐意听取他们的意见 :)

关于android - 在 Android 中使用 HttpURLConnection 从 url 获取 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33759608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com