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 大田斗
主站蜘蛛池模板:
亚洲 欧洲 自拍 另类 校园
|
亚洲乱亚洲乱妇24p
|
亚洲国产av玩弄放荡人妇
|
国产特黄一级一片免费
|
久草视频免费在线观看
|
亚洲国产精品综合久久网络
|
亚洲码一区二区三区
|
无码 免费 国产在线观看91
|
在线视频免费观看爽爽爽
|
91麻豆精品国产自产在线观看亚洲
|
国产亚洲Av综合人人澡精品
|
四虎国产精品永久免费网址
|
四虎永久免费地址在线网站
|
久久久久久亚洲精品成人
|
牛牛在线精品观看免费正
|
四虎在线免费视频
|
在线亚洲97se亚洲综合在线
|
亚洲最大无码中文字幕
|
无码人妻久久一区二区三区免费
|
精品亚洲成AV人在线观看
|
乱淫片免费影院观看
|
成年女人午夜毛片免费看
|
亚洲国产精品免费视频
|
美女无遮挡免费视频网站
|
日本XXX黄区免费看
|
亚洲国产精品无码久久SM
|
无码天堂va亚洲va在线va
|
国产成人免费高清激情明星
|
亚洲人成网7777777国产
|
亚洲av无码成人精品区一本二本
|
67194国产精品免费观看
|
亚洲精品无码不卡在线播HE
|
看亚洲a级一级毛片
|
91成人免费观看网站
|
亚洲av伊人久久综合密臀性色
|
一级毛片无遮挡免费全部
|
永久免费bbbbbb视频
|
亚洲永久网址在线观看
|
99在线精品免费视频九九视
|
亚洲AV福利天堂一区二区三
|
国产精品福利在线观看免费不卡
|