该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-08-31
最后修改:2009-08-31
/** 一个最简单的例子 import com.fyf.http.common.*; */ HttpClient client=HttpClient.newInstance(); HttpResult result=client.get("www.google.cn"); byte [] res=result.get(); // result.getStrByUtf(); 相当于 new String(result.getBytes(),"utf-8"); 同理 getStrByGbk(); System.out.println(new String(res)); /** 应为返回值不一定是文本,所以用了HttpResult 来代替返回值String 或byte[] , List<String> list=result.getHead(); 返回服务器返回的头信息,一般兵部需要,没有解析。你可以用循环看看里面的值, Map<String,String> map=result.getHeadMap(); 还是返回头信息,已经解析,你可以用循环看看里面的值, System.out.println(result.getEndType()); 你可以用这种方式,看底层的套接字是读到-1 break的,还是说读到文件足够长break; */ Data data1=new Data("www.google.cn"); client.get(data1); // 第2种方式 /** 如果你要使用post方式提交,这样做 * */ Data data=new Data("www.google.cn"); data.addData("name", "fyf"); data.addData("password", "123"); HttpResult result2=client.post(data); //方式2 client.post("www.google.cn", "name=fyf&password=123"); // 如果你要提交文件 // 这样做 Data data=new Data("www.google.cn"); data.addData("name", "fyf"); data.addData("password", "123"); data.addFile("upload", new File("d://111.rar"));// upload 相当于,您在html页面上的<input type=file name='upload'> 的name client.post(data); /** 可以用更加智能通用的方式来提交请求 */ client.interact(data); /* 如果data,里面只有设置了utl那么用get提交, 如果,设置了addData(),那么用post提交, 如果data.addFile(), 里面有文件,那么,以,post mutitype/form-data方式提交 */ 所有方式都返回httpresult 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-08-31
这个却确实有点像,jdk带的urlconnection 但是,urlconnection用post提交文件不方便,即使是一般的post也不方便。 mdk.jar文件是补充jdk这些不方便的东西而存在的,(当然只是理想了) 目前达到140k的大小,当然不只是有httpclient这东西了,它最多3-10k, httpclient是昨天加入mdk的功能 |
|
返回顶楼 | |
发表时间:2009-08-31
|
|
返回顶楼 | |
发表时间:2009-08-31
最后修改:2009-08-31
kacakong 写道
要自己去实现才会进步,照你的说法: 啊爬其(Apache) 一样重复发明,人家jdk里面早有了。。。。。。。。。 大家都是高技术的,但是人家能做出来,自己却只能使用别人发开的现成的东西, 这样不太好,至少什么都改试下,只要不是太烦杂的东西。 而且我车个传文件肯定更少代码 Data data=new Data("www.urll.com"); data.addFile("file1",new File("d://1.rar")); HttpClient.newInstance().post(data); 3行代码 |
|
返回顶楼 | |
发表时间:2009-08-31
学习的话,源码呢?
|
|
返回顶楼 | |
发表时间:2009-09-01
楼上要源码只能自己反编一下,呵呵
|
|
返回顶楼 | |
发表时间:2009-09-01
fyf_008 写道 kacakong 写道
要自己去实现才会进步,照你的说法: 啊爬其(Apache) 一样重复发明,人家jdk里面早有了。。。。。。。。。 大家都是高技术的,但是人家能做出来,自己却只能使用别人发开的现成的东西, 这样不太好,至少什么都改试下,只要不是太烦杂的东西。 而且我车个传文件肯定更少代码 Data data=new Data("www.urll.com"); data.addFile("file1",new File("d://1.rar")); HttpClient.newInstance().post(data); 3行代码 楼主中文错别字不少啊,唉,我最不喜欢的就是看到一堆的拼音错别字 都是打拼音惹的祸,大家都打五笔多好 |
|
返回顶楼 | |
发表时间:2009-09-01
支持重复造轮子!!!!!!!!
要不然咱哪天能造出火车来? |
|
返回顶楼 | |
发表时间:2009-09-01
请问下载完后让下载次数加一怎么做呢?怎么判断文件下载完了呢?
|
|
返回顶楼 | |
发表时间:2009-09-01
我也写过一个,不过用法和楼主的有不同,但是支持楼主。
|
|
返回顶楼 | |