关于下载文件org.apache.http.client提供了一套非常简洁的API,使用非常方便。
我开始的思路是用HttpURLConnection,并以InputStream的形式获取文件再写入到本地,但发现了几个问题。
1. 代码量偏多
2. 涉及到输入输出流的关闭,打开。操作不当,会导致资源浪费。
于是查看了org.apache.http.clien的API,发现了非常简洁方便的写法:
Request.Get(destUrl)
.execute().saveContent(new File(fileName));
嗯,只要一句,哈哈。
如果想把网页以字符串的形式返回也可以这样做:
String content = Request.Get(url)
.connectTimeout(1000)
.socketTimeout(1000)
.execute().returnContent().asString();
其他方法请查看API吧。
org.apache.http.client.fluent.Request。