1.服务端:
private void testWS(HttpServletResponse response){
InputStream ins = null;
try{
OutputStream outs = response.getOutputStream();
ins = new FileInputStream(new File("f:"+File.separator+"bg4_cjak.jpg")) ;
byte[] blobbytes = new byte[1024];
int bytesRead = 0;
while ((bytesRead = ins.read(blobbytes)) != -1) {
outs.write(blobbytes, 0, bytesRead);
}
outs.flush();
outs.close();
ins.close();
}catch (Exception e) {
e.printStackTrace();
}
}
2.客户端
public void downDetail(String cookie){
HttpEntity entity = null;
HttpClient httpclient = new DefaultHttpClient();
String urlPath ="http://10.207.40.158:8080/downDetail";
try {
HttpPost httpost = new HttpPost(urlPath);
if(cookie == null){
cookie = "JSESSIONID=156okqee4dq10j282fjkdyobp";
}
httpost.setHeader("Cookie",cookie);
// httpost.setHeader("", "");
// StringEntity postEntity = new StringEntity("sendParameter", "GB18030");
// postEntity.setContentType("image/tiff");
// httpost.setEntity(postEntity);
// 设置连接超时为10秒
// httpclient.getParams().setIntParameter(HttpConnectionParams.CONNECTION_TIMEOUT, 70000);
// 设置读取数据超时为35秒
// httpclient.getParams().setIntParameter(HttpConnectionParams.SO_TIMEOUT, 70000);
HttpResponse response = httpclient.execute(httpost);
entity = response.getEntity();
System.out.println(entity.getContentType());
System.out.println(entity.getContentEncoding());
System.out.println(entity.isStreaming());
System.out.println(entity.getContentLength());
String RESOURCE_SAVE_BASE_PATH = Environment.getExternalStorageDirectory().getPath();
File file = new File(RESOURCE_SAVE_BASE_PATH+"/temp2012/bg4_cjak.pdf");
if(file.exists()){
file.delete();
}
entity.writeTo(new FileOutputStream(file));
if (file.exists()) {
Download.openPdfFile(ctx, file);
}
// InputStream stream = entity.getContent();
// System.out.println(stream.available());
// writeFile(stream);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
httpclient.getConnectionManager().shutdown();
}
}
分享到:
相关推荐
标题中的"HttpClient应用实例2"指的是使用Apache HttpClient库进行HTTP通信的一个具体示例或教程。HttpClient是一个成熟的Java库,用于执行HTTP请求并处理响应。它提供了丰富的功能,包括支持HTTPS、连接管理、重试...
1. **异步和同步API**: HttpClient 提供了同步和异步两种API,以适应不同的应用场景。同步API适合于简单且线性的工作流,而异步API则适用于处理大量并发请求,提高了系统性能。 2. **全面的HTTP协议支持**: ...
HttpClient是Apache基金会开发的一个Java库,它为Java程序员提供了一个强大的、灵活的、功能丰富的HTTP客户端API,使得处理HTTP...通过深入学习和熟练掌握HttpClient的使用,你将能够更高效地开发和维护Java网络应用。
在本文中,我们将深入探讨`HttpClient`的实例应用,以及如何使用它来实现各种HTTP操作。 ### 1. `HttpClient`的基本用法 创建`HttpClient`实例通常是通过静态`HttpClientFactory`方法或直接实例化`HttpClient`完成...
在描述中提到的是"开发所必须架包",这通常意味着该压缩包包含了运行和开发HTTPClient应用程序所需的所有依赖项。这些依赖可能包括但不限于以下几点: 1. **HTTPCore**: HTTPClient的基础组件,提供低级别的HTTP...
HttpClient组件允许应用程序直接通过HTTP协议访问Web服务器上的资源,这对于RIA(Rich Internet Applications)和Web服务客户端的开发尤其有用。 HttpClient组件的主要特点和功能包括: 1. 实现了HTTP 1.0和1.1的...
对于12306购票的实现,可以研究其API接口文档,以及已有的开源项目,如"基于java httpclient的12306 买票软件",从中学习如何将HttpClient应用于实际场景。 通过以上内容,我们可以了解到Java HttpClient在实现...
在WPF(Windows Presentation Foundation)应用程序中,使用HttpClient调用Web API是一项常见的任务,尤其是在进行数据交互时。本文将深入探讨如何在WPF应用中利用HttpClient进行异步操作,以避免阻塞主线程,提高...
java httpClient应用,包含了设置代理等功能。
HttpClient之Https应用实例~ 包含: HttpClient 使用代理访问Https HttpClient 信任所有主机-对于任何证书都不做检查 HttpClient 允许所有证书的校验(包括过期证书)
《深入解析httpclient.jar及其与code.jar的关联》 在Java开发中,HTTP通信是不可或缺的一部分,而Apache HttpClient库正是Java...理解和熟练掌握HttpClient库,将有助于提升Java应用在网络通信方面的效率和稳定性。
在本文中,我们将深入探讨HttpClient的核心概念、使用方法以及如何通过`httpclient.jar`进行实战应用。 首先,HttpClient的主要组件包括: 1. **HttpClient实例**:这是整个HTTP通信的核心,负责管理连接、请求和...
在IT行业中,从一个技术版本迁移到另一个更新的版本往往是一个重要的步骤,尤其是在网络编程中,这种迁移可以提高应用程序的效率和安全性。Apache HttpClient是一个广泛使用的库,用于执行HTTP协议相关的操作。随着...