BaoYaEr
java讀取網(wǎng)站內(nèi)容的兩種方法
1,HttpClient
利用apache的虛擬客戶端包獲取某個(gè)地址的內(nèi)容
?1
import
?java.io.UnsupportedEncodingException;
?2
import
?java.util.HashSet;
?3
import
?java.util.Iterator;
?4
import
?java.util.Set;
?5
import
?java.util.regex.Matcher;
?6
import
?java.util.regex.Pattern;
?7
?8
import
?org.apache.commons.httpclient.HttpClient;
?9
import
?org.apache.commons.httpclient.NameValuePair;
10
import
?org.apache.commons.httpclient.methods.PostMethod;
11
12
public
?
class
?catchMain?
{
13
14
????
/**?*/
/**
15
?????*?
@param
?args
16
?????
*/
17
????
public
?
static
?
void
?main(String[]?args)?
{
18
????????
19
20
????????String?url?
=
?
"
http://search.foodqs.com/companysearch.asp
"
;
21
????????String?keyword
=
"
食
"
;
22
????????String?response
=
createhttpClient(url,keyword);
23
????}
24
25
public
?
static
?String?createhttpClient(String?url,String?param)
{
26
????????HttpClient?client?
=
?
new
?HttpClient();
27
????????String?response
=
null
;
28
????????String?keyword
=
null
;
29
????????PostMethod?postMethod?
=
?
new
?PostMethod(url);
30
????????
try
?
{
31
????????????
if
(param
!=
null
)
32
???????????keyword?
=
?
new
?String(param.getBytes(
"
gb2312
"
),
"
ISO-8859-1
"
);
33
????????}
?
catch
?(UnsupportedEncodingException?e1)?
{
34
????????????
//
?TODO?Auto-generated?catch?block
35
????????????e1.printStackTrace();
36
????????}
37
????????
38
????????NameValuePair[]?data?
=
?
{?
new
?NameValuePair(
"
keyword
"
,?keyword)?}
;
39
????????
//
?將表單的值放入postMethod中
40
????????postMethod.setRequestBody(data);
41
????????
42
????????
try
?
{
43
????????????
int
?statusCode?
=
?client.executeMethod(postMethod);
44
????????????response?
=
?
new
?String(postMethod.getResponseBodyAsString()
45
????????????????????.getBytes(
"
ISO-8859-1
"
),?
"
GBK
"
);
46
????????}
?
catch
?(Exception?e)?
{
47
48
????????????e.printStackTrace();
49
????????}
50
????????
return
?response;
51
????????????
52
????}
53
????????
2.java自帶的HttpURLConnection
?1
public
?
static
?String?getPageContent(String?strUrl,?String?strPostRequest,
?2
????????????
int
?maxLength)?
{
?3
????????
//
讀取結(jié)果網(wǎng)頁
?4
????????StringBuffer?buffer?
=
?
new
?StringBuffer();
?5
????????System.setProperty(
"
sun.net.client.defaultConnectTimeout
"
,?
"
5000
"
);
?6
????????System.setProperty(
"
sun.net.client.defaultReadTimeout
"
,?
"
5000
"
);
?7
????????
try
?
{
?8
????????????URL?newUrl?
=
?
new
?URL(strUrl);
?9
????????????HttpURLConnection?hConnect?
=
?(HttpURLConnection)?newUrl
10
????????????????????.openConnection();
11
????????????
//
POST方式的額外數(shù)據(jù)
12
????????????
if
?(strPostRequest.length()?
>
?
0
)?
{
13
????????????????hConnect.setDoOutput(
true
);
14
????????????????OutputStreamWriter?out?
=
?
new
?OutputStreamWriter(hConnect
15
????????????????????????.getOutputStream());
16
????????????????out.write(strPostRequest);
17
????????????????out.flush();
18
????????????????out.close();
19
????????????}
20
????????????
//
讀取內(nèi)容
21
????????????BufferedReader?rd?
=
?
new
?BufferedReader(
new
?InputStreamReader(
22
????????????????????hConnect.getInputStream()));
23
????????????
int
?ch;
24
????????????
for
?(
int
?length?
=
?
0
;?(ch?
=
?rd.read())?
>
?
-
1
25
????????????????????
&&
?(maxLength?
<=
?
0
?
||
?length?
<
?maxLength);?length
++
)
26
????????????????buffer.append((
char
)?ch);
27
????????????rd.close();
28
????????????hConnect.disconnect();
29
????????????
return
?buffer.toString().trim();
30
????????}
?
catch
?(Exception?e)?
{
31
????????????
//
?return?"錯(cuò)誤:讀取網(wǎng)頁失敗!";
32
????????????
return
?
null
;
33
????????}
34
????}
發(fā)表于 2007-01-26 11:46
大田斗
閱讀(3801)
評論(2)
編輯
收藏
所屬分類:
java
評論
#
re: java讀取網(wǎng)站內(nèi)容的兩種方法
第二個(gè)方法會(huì)出現(xiàn)中文亂碼,該怎么解決?
youthcolor
評論于 2009-03-08 10:15
回復(fù)
更多評論
#
re: java讀取網(wǎng)站內(nèi)容的兩種方法
@youthcolor
BufferedReader rd = new BufferedReader(new InputStreamReader( hConnect.getInputStream() ,encoding));
游客
評論于 2010-06-12 17:51
回復(fù)
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
mule事件驅(qū)動(dòng)服務(wù)
JDK1.5中的線程池(java.util.concurrent.ThreadPoolExecutor)使用簡介
在xml的汪洋中遨游之mule篇
linux下java運(yùn)行腳本
深入淺出之正則表達(dá)式【zt】
JavaClassLoader與Package機(jī)制
JTA事務(wù)初級研究
Spring2.5注釋語法
java annotation
J2SE5.0中最有趣的新特性:注釋(annotation) [zt]
<
2025年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
導(dǎo)航
BlogJava
首頁
發(fā)新隨筆
發(fā)新文章
聯(lián)系
聚合
管理
統(tǒng)計(jì)
隨筆: 32
文章: 427
評論: 144
引用: 0
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(5)
給我留言
查看公開留言
查看私人留言
隨筆檔案
2008年12月 (1)
2008年4月 (2)
2008年2月 (1)
2008年1月 (1)
2007年12月 (3)
2007年11月 (1)
2007年10月 (3)
2007年7月 (2)
2007年6月 (1)
2007年4月 (2)
2007年3月 (3)
2007年2月 (5)
2007年1月 (3)
2006年12月 (4)
文章分類
axis(6)
(rss)
eclipse(7)
(rss)
Hibernate(30)
(rss)
html/js/css(107)
(rss)
java(106)
(rss)
linux(7)
(rss)
Lucene(7)
(rss)
spring(36)
(rss)
Spring CLOUd(1)
(rss)
Strtus(30)
(rss)
其它(48)
(rss)
開源opensource(48)
(rss)
數(shù)據(jù)庫DateBase(30)
(rss)
設(shè)計(jì)模式(12)
(rss)
文章檔案
2018年8月 (1)
2012年5月 (1)
2012年4月 (2)
2011年7月 (6)
2010年3月 (1)
2010年2月 (1)
2010年1月 (3)
2009年12月 (1)
2009年10月 (1)
2009年8月 (3)
2009年3月 (1)
2009年2月 (1)
2008年12月 (3)
2008年11月 (10)
2008年10月 (3)
2008年9月 (2)
2008年8月 (2)
2008年7月 (4)
2008年6月 (13)
2008年5月 (15)
2008年4月 (9)
2008年3月 (10)
2008年1月 (18)
2007年12月 (33)
2007年11月 (6)
2007年10月 (18)
2007年9月 (10)
2007年8月 (18)
2007年7月 (15)
2007年6月 (25)
2007年5月 (19)
2007年4月 (26)
2007年3月 (38)
2007年2月 (33)
2007年1月 (27)
2006年12月 (27)
2006年11月 (12)
java
Ajax特效網(wǎng)站
cndiy nio
GRO
Hani Suleiman's blog
Java之路
java論壇
J道
mule
mule 入門
oksonic(動(dòng)畫教程)
一路由你
中國eclipse
八進(jìn)制
在線源碼
多線程實(shí)戰(zhàn)
天火
小米的blogjava
幻境伯克----jface/swt
很全的博克-強(qiáng)
每日一得
滿江紅
邢紅瑞
飛翔
鳥詩選(js)
鳥食軒 (dhtml)
工具
apache中文手冊
extjs學(xué)習(xí)
iconFindre
java 安全
javaresearch
java技巧網(wǎng)
js之王
matrix(study)
prototype api
spring中文
北京IT企業(yè)速查
在線流程圖工具
雅虎翻譯
朋友
Happyshow
hibernate異常
skywalker
sunshow
xf
亞光
同云博客
小弟鵬
張玉磊
昕
李陽
黃鳴
搜索
積分與排名
積分 - 1101547
排名 - 28
最新評論
1.?re: hibernate.cfg.xml配置
好全啊 .. 棒棒噠 ~ !
--junqinag.yang
2.?re: Quartz任務(wù)調(diào)度快速入門
我現(xiàn)在來看還是覺得不錯(cuò)
--小任
3.?re: js中this的總結(jié)
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--pam
4.?re: Quartz任務(wù)調(diào)度快速入門
樓主辛苦
--yd
5.?re: Quartz任務(wù)調(diào)度快速入門
頂了,內(nèi)容寫的很好
--sen
閱讀排行榜
1.?網(wǎng)頁不緩存(3552)
2.?Form嵌套引起的問題 (2849)
3.?解決IE下CSS背景圖片閃爍的Bug(2445)
4.?Spring AOP的動(dòng)態(tài)載入原理(2403)
5.?如何制作漂亮的Excel表格(2044)
評論排行榜
1.?北京戶口--吃官司(5)
2.?開始→運(yùn)行→輸入的命令集錦(3)
3.?讓網(wǎng)頁上的所有圖片動(dòng)起來(2)
4.?Dom4j 編碼問題徹底解決 (1)
5.?心情不爽(1)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 大田斗
主站蜘蛛池模板:
亚洲国产精品综合久久2007
|
免费一级毛片在线播放
|
嘿嘿嘿视频免费网站在线观看
|
在线毛片片免费观看
|
a级黄色毛片免费播放视频
|
成人免费777777被爆出
|
a级片免费在线观看
|
永久免费AV无码网站国产
|
两个人看的www免费
|
无码成A毛片免费
|
91精品国产免费入口
|
四虎精品视频在线永久免费观看
|
亚洲免费中文字幕
|
国产片AV片永久免费观看
|
好先生在线观看免费播放
|
男女交性永久免费视频播放
|
国产精品深夜福利免费观看
|
免费在线观看理论片
|
在线亚洲精品福利网址导航
|
亚洲成AV人片在线观看无
|
亚洲黄色免费在线观看
|
国产精品亚洲四区在线观看
|
亚洲成AV人影片在线观看
|
未满十八私人高清免费影院
|
黄桃AV无码免费一区二区三区
|
无码国产精品一区二区免费3p
|
亚洲系列中文字幕
|
亚洲AV一二三区成人影片
|
亚洲AV无码国产一区二区三区
|
猫咪免费观看人成网站在线
|
中文字幕免费人成乱码中国
|
在线日本高清免费不卡
|
成人性生免费视频
|
亚洲日韩国产成网在线观看
|
亚洲av鲁丝一区二区三区
|
亚洲AV成人无码天堂
|
日韩毛片在线免费观看
|
少妇无码一区二区三区免费
|
毛片A级毛片免费播放
|
亚洲色一色噜一噜噜噜
|
久久夜色精品国产噜噜亚洲AV
|