本教程详细介绍如何使用编程技术通过HTML邮件格式发送电子邮件,并利用HttpClient工具实现高效、安全的网络资源下载。
下面是一个支持发送邮件和远程文件下载功能的Java示例代码片段,在MyEclipse 6.0.1+jdk1.6环境下运行。
```java
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
public class SearchDomain {
public static void main(String[] args) throws ClientProtocolException, IOException {
// 实例化一个HttpClient
HttpClient httpClient = new DefaultHttpClient();
// 设定目标站点的默认端口80可以不写,如果是其它端口就要标明
HttpHost httpHost = new HttpHost(127.0.0.1, 80);
// 设置需要下载的文件
HttpGet httpGet = new HttpGet(/fax/temp/284/201205171022522920.doc);
HttpResponse response = httpClient.execute(httpHost, httpGet);
if(HttpStatus.SC_OK == response.getStatusLine().getStatusCode()) {
// 请求成功
HttpEntity entity = response.getEntity();
if (entity != null) {
System.out.println(entity.getContentType());
System.out.println(entity.isStreaming());
File storeFile = new File(e:/111.doc);
FileOutputStream output = new FileOutputStream(storeFile);
InputStream input = entity.getContent();
byte b[] = new byte[1024];
int j;
while((j=input.read(b))!=-1){
output.write(b, 0, j);
}
output.flush();
output.close();
}
if (entity != null) {
entity.consumeContent();
}
}
}
}
```
这段代码演示了如何使用Apache HttpClient库下载远程文件,并将其保存到本地磁盘。首先,创建一个HttpClient实例并设置目标服务器地址和端口;然后构造HttpGet请求以指定要下载的资源路径;执行请求后检查响应状态码是否为200(表示成功),如果成功则获取响应体中的HttpEntity对象来处理实际的数据流,并将其写入到本地文件中。