BaoYaEr
java讀取網(wǎng)站內容的兩種方法
1,HttpClient
利用apache的虛擬客戶端包獲取某個地址的內容
?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
????????
//
讀取結果網(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
????????????
//
讀取內容
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?"錯誤:讀取網(wǎng)頁失敗!";
32
????????????
return
?
null
;
33
????????}
34
????}
發(fā)表于 2007-01-26 11:46
大田斗
閱讀(3806)
評論(2)
編輯
收藏
所屬分類:
java
評論
#
re: java讀取網(wǎng)站內容的兩種方法
第二個方法會出現(xiàn)中文亂碼,該怎么解決?
youthcolor
評論于 2009-03-08 10:15
回復
更多評論
#
re: java讀取網(wǎng)站內容的兩種方法
@youthcolor
BufferedReader rd = new BufferedReader(new InputStreamReader( hConnect.getInputStream() ,encoding));
游客
評論于 2010-06-12 17:51
回復
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
mule事件驅動服務
JDK1.5中的線程池(java.util.concurrent.ThreadPoolExecutor)使用簡介
在xml的汪洋中遨游之mule篇
linux下java運行腳本
深入淺出之正則表達式【zt】
JavaClassLoader與Package機制
JTA事務初級研究
Spring2.5注釋語法
java annotation
J2SE5.0中最有趣的新特性:注釋(annotation) [zt]
<
2025年7月
>
日
一
二
三
四
五
六
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
8
9
導航
BlogJava
首頁
發(fā)新隨筆
發(fā)新文章
聯(lián)系
聚合
管理
統(tǒng)計
隨筆: 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)
設計模式(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(動畫教程)
一路由你
中國eclipse
八進制
在線源碼
多線程實戰(zhàn)
天火
小米的blogjava
幻境伯克----jface/swt
很全的博克-強
每日一得
滿江紅
邢紅瑞
飛翔
鳥詩選(js)
鳥食軒 (dhtml)
工具
apache中文手冊
extjs學習
iconFindre
java 安全
javaresearch
java技巧網(wǎng)
js之王
matrix(study)
prototype api
spring中文
北京IT企業(yè)速查
在線流程圖工具
雅虎翻譯
朋友
Happyshow
hibernate異常
skywalker
sunshow
xf
亞光
同云博客
小弟鵬
張玉磊
昕
李陽
黃鳴
搜索
積分與排名
積分 - 1104425
排名 - 28
最新評論
1.?re: hibernate.cfg.xml配置
好全啊 .. 棒棒噠 ~ !
--junqinag.yang
2.?re: Quartz任務調度快速入門
我現(xiàn)在來看還是覺得不錯
--小任
3.?re: js中this的總結
評論內容較長,點擊標題查看
--pam
4.?re: Quartz任務調度快速入門
樓主辛苦
--yd
5.?re: Quartz任務調度快速入門
頂了,內容寫的很好
--sen
閱讀排行榜
1.?網(wǎng)頁不緩存(3563)
2.?Form嵌套引起的問題 (2867)
3.?解決IE下CSS背景圖片閃爍的Bug(2458)
4.?Spring AOP的動態(tài)載入原理(2416)
5.?如何制作漂亮的Excel表格(2057)
評論排行榜
1.?北京戶口--吃官司(5)
2.?開始→運行→輸入的命令集錦(3)
3.?讓網(wǎng)頁上的所有圖片動起來(2)
4.?Dom4j 編碼問題徹底解決 (1)
5.?心情不爽(1)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 大田斗
主站蜘蛛池模板:
亚洲国产人成在线观看69网站
|
亚洲人成图片小说网站
|
亚洲日本人成中文字幕
|
国产黄色免费网站
|
亚洲a视频在线观看
|
97无码免费人妻超级碰碰碰碰
|
亚洲最大中文字幕
|
丁香花在线观看免费观看
|
亚洲一本一道一区二区三区
|
野花高清在线观看免费3中文
|
国产成人精品亚洲2020
|
午夜精品在线免费观看
|
四虎影视永久在线精品免费
|
全部免费国产潢色一级
|
国产免费区在线观看十分钟
|
亚洲AV无码一区二区三区DV
|
在线观看永久免费
|
亚洲AV成人片无码网站
|
亚洲熟妇少妇任你躁在线观看无码
|
久久九九全国免费
|
久久亚洲精品国产精品
|
最近中文字幕mv免费高清视频7
|
亚洲国产精品嫩草影院
|
亚洲国产综合精品中文字幕
|
a级毛片毛片免费观看永久
|
337p日本欧洲亚洲大胆色噜噜
|
a毛片基地免费全部视频
|
国产91成人精品亚洲精品
|
亚洲精品中文字幕无码蜜桃
|
国产精品免费观看
|
一级毛片在线播放免费
|
亚洲精品高清视频
|
国产无遮挡色视频免费视频
|
在线观看片免费人成视频播放
|
亚洲系列中文字幕
|
亚洲欧洲久久久精品
|
色播精品免费小视频
|
无码毛片一区二区三区视频免费播放
|
亚洲Av无码专区国产乱码DVD
|
免费视频淫片aa毛片
|
国产好大好硬好爽免费不卡
|