JAVA网页编程之一个httpcomponents-client-4.3 httpclient的例子仓酷云
java比较简单,没有C++的烦琐,但学习时最好有C++为基础.与JSP和SQL起应用,功能强大.Apache的httpclient项目一向在晋级,从httpclient3.1项目到httpcomponents-client4.0再到4.3都不是太不乱,如今处于4.3版本,终究基础不乱上去。如今httpclient3.1已中断,官方激烈保举晋级到httpcomponents-client。实在开辟一个功效完全壮大的httpclient客户端仍是不简单的。这里只是贴出一个利用httpcomponents-client里CloseableHttpClient举行http哀求的例子,可是就这几行代码已内置对Cookie和SSL的处置。谈不上很平安,但最少对利用Cookie对Https的URL是能够处置取回内容的。
importjava.security.KeyManagementException;
importjava.security.NoSuchAlgorithmException;
importjava.security.cert.X509Certificate;
importjavax.net.ssl.SSLContext;
importjavax.net.ssl.TrustManager;
importjavax.net.ssl.X509TrustManager;
importorg.apache.http.HttpResponse;
importorg.apache.http.client.methods.HttpGet;
importorg.apache.http.conn.ssl.SSLConnectionSocketFactory;
importorg.apache.http.impl.client.CloseableHttpClient;
importorg.apache.http.impl.client.HttpClients;
importorg.apache.http.util.EntityUtils;
publicclassHttpComponentTest{
publicCloseableHttpClientcreateHttpsClient(){
X509TrustManagerx509mgr=newX509TrustManager(){
@Override
publicvoidcheckClientTrusted(X509Certificate[]xcs,Stringstring){
}
@Override
publicvoidcheckServerTrusted(X509Certificate[]xcs,Stringstring){
}
@Override
publicX509Certificate[]getAcceptedIssuers(){
returnnull;
}
};
SSLContextsslContext=null;
try{
sslContext=SSLContext.getInstance("TLS");
}catch(NoSuchAlgorithmExceptione1){
//TODOAuto-generatedcatchblock
e1.printStackTrace();
}
try{
sslContext.init(null,newTrustManager[]{x509mgr},null);
}catch(KeyManagementExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
SSLConnectionSocketFactorysslsf=newSSLConnectionSocketFactory(
sslContext,
SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
returnHttpClients.custom().setSSLSocketFactory(sslsf).build();
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args)throwsException{
//CloseableHttpClienthttpclient=HttpClients.createDefault();
HttpComponentTestt=newHttpComponentTest();
CloseableHttpClienthttpclient=t.createHttpsClient();
//HttpGethttpGet=newHttpGet("http://www.google.com.hk/search?hl=zh&ie=utf-8&num=30&output=rss&q=java+%7C+hibernate+%7C+spring&tbm=blg");
HttpGethttpGet=newHttpGet("https://www.google.com.hk/search?hl=zh&ie=utf-8&num=30&output=rss&q=java+%7C+hibernate+%7C+spring&tbm=blg");
//HttpGethttpGet=newHttpGet("http://itindex.net/");
try{
HttpResponsehttpResp=httpclient.execute(httpGet);
intstatusCode=httpResp.getStatusLine().getStatusCode();
if(statusCode==200){
System.out.println(EntityUtils.toString(httpResp.getEntity()));
}
}catch(Exceptione){
e.printStackTrace();
}finally{
httpGet.releaseConnection();
}
}
}
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 是一种使用者不需花费很多时间学习的语言 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
页:
[1]