欢迎来到天天文库
浏览记录
ID:11630794
大小:32.00 KB
页数:4页
时间:2018-07-13
《java读取网站内容的两种方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java读取网站内容的两种方法一、HttpClient利用apache的虚拟客户端包获取某个地址的内容1importjava.io.UnsupportedEncodingException;2importjava.util.HashSet;3importjava.util.Iterator;4importjava.util.Set;5importjava.util.regex.Matcher;6importjava.util.regex.Pattern;78importorg.apache.commons.httpclient.HttpC
2、lient;9importorg.apache.commons.httpclient.NameValuePair;10importorg.apache.commons.httpclient.methods.PostMethod;1112publicclasscatchMain{1314/***//**15*@paramargs16*/17publicstaticvoidmain(String[]args){181920Stringurl=“http://search.foodqs.com/companysearch.asp”;21Stri
3、ngkeyword=“食”;22Stringresponse=createhttpClient(url,keyword);23}2425publicstaticStringcreatehttpClient(Stringurl,Stringparam){26HttpClientclient=newHttpClient();27Stringresponse=null;28Stringkeyword=null;29PostMethodpostMethod=newPostMethod(url);30try{31if(param!=null)32k
4、eyword=newString(param.getBytes(“gb2312”),“ISO-8859-1”);33}catch(UnsupportedEncodingExceptione1){34//TODOAuto-generatedcatchblock35e1.printStackTrace();36}3738NameValuePair[]data={newNameValuePair(“keyword”,keyword)};39//将表单的值放入postMethod中40postMethod.setRequestBody(data)
5、;4142try{43intstatusCode=client.executeMethod(postMethod);44response=newString(postMethod.getResponseBodyAsString()45.getBytes(“ISO-8859-1”),“GBK”);46}catch(Exceptione){4748e.printStackTrace();49}50returnresponse;5152}53二、java自带的HttpURLConnection1publicstaticStringgetPage
6、Content(StringstrUrl,StringstrPostRequest,2intmaxLength){3//读取结果网页4StringBufferbuffer=newStringBuffer();5System.setProperty(“sun.net.client.defaultConnectTimeout”,“5000”);6System.setProperty(“sun.net.client.defaultReadTimeout”,“5000”);7try{8URLnewUrl=newURL(strUrl);9HttpU
7、RLConnectionhConnect=(HttpURLConnection)newUrl10.openConnection();11//POST方式的额外数据12if(strPostRequest.length()》0){13hConnect.setDoOutput(true);14OutputStreamWriterout=newOutputStreamWriter(hConnect15.getOutputStream());16out.write(strPostRequest);17out.flush();18out.close(
8、);19}20//读取内容21BufferedReaderrd=newBufferedReader(newInputStreamReader(22hConnect.getInputStream
此文档下载收益归作者所有