【java】自己封装的httpHelper访问类及其相关联的类 访问http

这篇博客分享了作者在大三时期编写的HTTP访问助手类,适用于Java环境,包括同步和异步方法,并提供了文件下载功能及回调接口。文章提到了代码在多线程处理上的不足,以及后续对Android平台的适配修改,如异常处理和包导入的调整。作者提供了修改后的代码版本以供参考。
摘要由CSDN通过智能技术生成

20141030

这个大三的时候写的,现在看起来感觉多线程上有一些不足之处,如果大家觉得可以当作参考自己改改吧。


后注:

以下的代码是JRE用的,如果用在android要修改的,比如说UrlConnection.getContentLongLength是没有的,要改成getContentLength(),还有就是一些导入的包要删改。我已经改好了android的版本。就不发了

还有就是由于本人刚从C#转JAVA对于JAVA的异常了解的不够,直接在工具类里catch异常了,然后e.print....我以为和C#一样是可以把catch到的异常直接throw出来的,于是又进行了修改。使用了throws回避异常

修改后的包android 或 JRE的想要的mail 164858843@qq.com

 

最近想在android上写个使用到http协议的小程序,发现没封装过的写的代码太繁琐,就自己动手花了一天时间构思封装,方便http相关操作, 提供一系列同步 、异步的方法,  也有文件下载相关的同步、异步方法 ,所有的异步方法都提供一系列的回调接口,使用线程池,方便快捷~

总共有这么几个类
Cookies.java
这个是借鉴网上的管理cookie的方法,为了实现cookie的保持,sessionID的传送,所封装的一个管理cookie的类
HttpConnProp.java 
这个是http发送请求时请求报文里要设置的相关参数,直接new一个对象就是我设置的默认参数
ReturnData.java
http返回数据的的封装,有一个String是html文档,有一个HttpConnProp对象是请求完成后更新后的属性对象,特别的cookie和Referer,都是跟新后的
只要把返回的新的HttpConnProp对象给下一个连接,就可以保持session
HttpHelper.java
主类,里面有各种各样的方法
先看看我写的的工具库部分方法的使用效果:
 
异步get,post测试
HttpHelper.AysnGetHtml("http://www.baidu.com",
				HttpConnProp.getDefaultHttpConnProp(), "gb2312",
				new HttpHelper.AsynExecuteCallBack() {

					@Override
					public void exceptionOccored(Exception e) {
						// TODO Auto-generated method stub

					}

					@Override
					public void beforeExecute() {
						// TODO Auto-generated method stub
						System.out.println("执行之前");
					}

					@Override
					public void afterExecute(ReturnData rData) {
						// TODO Auto-generated method stub
						System.out.println("执行之后");
						//System.out.print(rData.getHtmlData());
					}
				});

		HttpHelper.AysnPostHtml("http://web.61166.com/member/index_doajax.php",
				"fmdo=login&dopost=login&userid=zhaozeyang&pwd=wodemima",
				new HttpConnProp(), "gb2312",
				new HttpHelper.AsynExecuteCallBack() {

					@Override
					public void exceptionOccored(Exception e) {
						// TODO Auto-generated method stub

					}

					@Override
					public void beforeExecute() {
						// TODO Auto-generated method stub

					}

					@Override
					public void afterExecute(ReturnData rData) {
						// TODO Auto-generated method stub

						System.out.println(rData.getHtmlData());

					}
				});
		HttpHelper.shutTheThreadPoolDown();//等待所有线程完成后关闭线程池服务

下载文件测试
		 HttpHelper.downLoadFile("http://avatar.csdn.net/B/7/7/1_zwl230631.jpg",
		 "g://rfegr22
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值