MicroSoft的ASP(Active Server Page)技術(shù)極大的方便了在網(wǎng)絡(luò)中對于數(shù)據(jù)庫的訪問,而且由于ASP不同于CGI需要那么多的請求(減少了服務(wù)器的資源占用),以及ASP同Windows NT 、2000的結(jié)合使得ASP技術(shù)被廣泛的應(yīng)用于今日的Internet,然而不知道你仔細(xì)的想過沒有!ASP除了利用ADO對數(shù)據(jù)庫的訪問和其他幾個內(nèi)置組件的利用外,就不能作其他什么的了,相對于perl,php等程序,ASP的功能看起來就非常簡單,而且功能缺乏;但是老比畢竟是老比,他給大家留了一手,那就是ASP組件(關(guān)于組件的概念,現(xiàn)在一大堆,你可不要搞錯了),通過組件的開發(fā)你可以做到其他語言(比如PHP,PERL,C++)能做到的一切,甚至在某些方面還能更加超出,本文力求給你展示一下ASP組件的強(qiáng)大功能,但是由于ASP組件自身的過(使用的是非注冊組件),可能有的時候使用會出現(xiàn)不穩(wěn)定的狀態(tài),然而本文是力求向你展示一點東西以及提供一種思路給你,而不是其他,所以不足的地方就請求了原諒了!
代碼思路:一般來看,我們提交一個表單給一個搜索引擎程序,搜索引擎獲得提交的數(shù)據(jù)然后處理,返回結(jié)果;然而這種東西其實都是取得了一個提交的變量,我們可以使用另外一種直接跟從連接的方式訪問搜索引擎,例如你可以使用yeah的首頁搜索一個關(guān)鍵字“xuankong”,也可以使用下面的連接“http://search.163.com/cgi-bin/search/engine/search.fcgi?key=xuankong”取得使用結(jié)果,本文就是通過使用ASP 的HTTP組件訪問這種直接的連接,使用GET方式取得原本在WEB頁中返回的數(shù)據(jù),然后輸出。
如果本組件能夠?qū)崿F(xiàn)多線程(如果那樣就可以同時對不同的引擎取得數(shù)據(jù),不必象現(xiàn)在單一的訪問然后取得結(jié)果,)和代碼進(jìn)一步的優(yōu)化和改進(jìn)的話,將會極大的節(jié)約你的時間,讓你一次搜索同時返回多個引擎的結(jié)果!
備注:搜索出來的結(jié)果中,由于某些引擎的類目使用了相對的連接,所以無效(這些結(jié)果其實你都可以處理的,只是筆者太懶了,所以不想花那些功夫),但是所有的網(wǎng)站和網(wǎng)頁的連接都是有效的,本文提供的代碼只是適合于測試,不適合于具體的應(yīng)用,如果需要具體的應(yīng)用,需要使用適當(dāng)?shù)膆ttp組件,或者如果你是程序高手的話可以自己寫多線程的組件!
代碼開始:
< !--
本代碼使用了http組件同時搜索出了幾個搜索引擎的數(shù)據(jù),讓所有的搜索結(jié)果顯示在一個頁面當(dāng)中,本文只是提供一種思路和思考
給大家展示ASP組件的強(qiáng)大功能!
由于本組件是非注冊組件可能功能有一定限制,同時由于同時搜索了幾個引擎(搜索引擎可以任意擴(kuò)充,但是會影響速度的),所以系統(tǒng)輸出數(shù)據(jù)的時間較長,請耐心等待
在使用本代碼前請你先去下載http://www.serverobjects.com/comp/asphttp3.zip,然好解壓縮到你的system32目錄(winnt or win2000)
使用regsvr32 asphttp.dll 注冊本組件,然后拷貝本文件到相關(guān)的iis可執(zhí)行目錄,使用IE或者netscape瀏覽
-- >
< %
’判斷是輸出頁面還是處理數(shù)據(jù),從而調(diào)用不同的部分
keyword=trim(request.form("keyword"))
if isnull(keyword) or keyword="" then
% >
< !--
html頁面代碼顯示
-- >
< html >
< head >
< title >ASPCN.COM 超級搜索引擎< /title >
< meta http-equiv="Content-Type" content="text/html; charset=gb2312" >
< META NAME="Author" CONTENT="蒲俊杰" >
< META NAME="Keywords" CONTENT="ASP,組件,www.aspcn.com" >
< style type="text/css" >
< !--
table { font-size: 9pt; font-style: normal}
.test { border: 1px #000000 dashed; border-color: #000000 none}
.test1 { background-color: #CCFFCC; clip: rect( ); font-size: 9pt; font-style: normal; border-style: dashed; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px}
-- >
< /style >
< /head >
< body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" >
< table width="75%" height="20" cellpadding="0" cellspacing="1" bgcolor="#66CC99" bordercolor="#FFFFFF" >
< tr >
< td height="4" >
< div >< font color="#000000" size="2" face="Arial" >ASPCN.COM< /font >< font color="#000000" size="3" face="Arial" >< /font >< b >< font color="#000000" size="3" face="Arial" >
< /font >< font color="#000000" size="3" face="仿宋_GB2312" >超級搜索引擎< /font >< /b >< /div >
< /td >
< /tr >
< tr bordercolor="#66CC99" >
< td height="21" >請選擇下面的搜索引擎:(考試,大提示:本搜索引擎只是適合于< font color="#ffffff" >網(wǎng)頁搜索< /font >)< /td >
< /tr >
< tr bordercolor="#FFFFFF" valign="top" >
< td height="20" >
< form method="post" action="http.asp" >
< table width="96%" height="21" >
< tr >
< td height="10" width="31%" >
< div >請輸入你要搜索的關(guān)鍵字: < /div >
< /td >
< td height="10" width="69%" >
< input type="text" name="keyword" >
< /td >
< /tr >
< tr < td height="2" width="31%" >
< div >請選擇你使用的搜索引擎: < /div >
< /td >
< td height="2" width="69%" >
< input type="checkbox" name="yeah" value="yeah" >
Yeah
< input type="checkbox" name="yahoo" value="yahoo" >
Yahoo
< input type="checkbox" name="sina" value="sina" >
Sina
< input type="checkbox" name="sohu" value="sohu" >
Sohu
< input type="checkbox" name="goyoyo" value="goyoyo" >
Goyoyo< /td >
< /tr >
< tr >
< td height="2" colspan="2" >
< div >
< input type="submit" name="Submit" value="讓我們開始吧" >
< /div >
< /td >
< /tr >
< /table >
< /form >
< /td >
< /tr >
< tr bordercolor="#FFFFFF" >
< td height="20" >備注:由于使用了多個搜索引擎檢索,所以系統(tǒng)輸出的時間較長,請耐心等待... ...< /td >
< /tr >
< tr bordercolor="#FFFFFF" >
< td height="20" >
< div >建議使用 IE 5.x 800*600訪問 ASPCN.COM 版權(quán)保留(2000-2001) < font size="2" >©< /font >< /div >
< /td >
< /tr >
< /table >
< /body >
< /html >
< !--
頁面代碼顯示結(jié)束
數(shù)據(jù)處理代碼顯示
-- >
< %else
Server.ScriptTimeout = 100’設(shè)置腳本時間,由于系統(tǒng)輸出時間較長所以必須修改腳本代碼執(zhí)行時間
Set http = Server.CreateObject("AspHTTP.Conn")’連結(jié)組件
keyword=request.form("keyword")’取得搜索關(guān)鍵字
if request.form("yeah")="yeah" then’判斷是否選擇使用yeah搜索引擎
http.Url = "http://search.163.com/cgi-bin/search/engine/search.fcgi?key="&keyword’處理搜索地址
http.RequestMethod = "GET"’設(shè)置取得數(shù)據(jù)方式"GET,取得數(shù)據(jù)"
response.write http.geturl’輸出搜索結(jié)果
end if
’以下代碼請參考上例的說明。
’使用yahoo
if request.form("yahoo")="yahoo" then
http.Url = "http://google.yahoo.com/bin/query_gb?p="&keyword
http.RequestMethod = "GET"
response.write http.geturl
end if
’使用sohu
if request.form("sohu")="sohu" then
http.Url ="http://search.sohu.com/cgi-bin/search_main.cgi?txt_keyword="&keyword&"&page_index=0&fuzzy=0&catagory=main"
http.RequestMethod = "GET"
response.write http.geturl
end if
’使用goyoyo
if request.form("goyoyo")="goyoyo" then
http.Url ="http://www.goyoyo.com.cn/gyy/query?dbs=guidedbs&code=GB&query="&keyword
http.RequestMethod = "GET"
response.write http.geturl
end if
set http=nothing
end if
’提交數(shù)據(jù)處理結(jié)束
% >
代碼思路:一般來看,我們提交一個表單給一個搜索引擎程序,搜索引擎獲得提交的數(shù)據(jù)然后處理,返回結(jié)果;然而這種東西其實都是取得了一個提交的變量,我們可以使用另外一種直接跟從連接的方式訪問搜索引擎,例如你可以使用yeah的首頁搜索一個關(guān)鍵字“xuankong”,也可以使用下面的連接“http://search.163.com/cgi-bin/search/engine/search.fcgi?key=xuankong”取得使用結(jié)果,本文就是通過使用ASP 的HTTP組件訪問這種直接的連接,使用GET方式取得原本在WEB頁中返回的數(shù)據(jù),然后輸出。
如果本組件能夠?qū)崿F(xiàn)多線程(如果那樣就可以同時對不同的引擎取得數(shù)據(jù),不必象現(xiàn)在單一的訪問然后取得結(jié)果,)和代碼進(jìn)一步的優(yōu)化和改進(jìn)的話,將會極大的節(jié)約你的時間,讓你一次搜索同時返回多個引擎的結(jié)果!
備注:搜索出來的結(jié)果中,由于某些引擎的類目使用了相對的連接,所以無效(這些結(jié)果其實你都可以處理的,只是筆者太懶了,所以不想花那些功夫),但是所有的網(wǎng)站和網(wǎng)頁的連接都是有效的,本文提供的代碼只是適合于測試,不適合于具體的應(yīng)用,如果需要具體的應(yīng)用,需要使用適當(dāng)?shù)膆ttp組件,或者如果你是程序高手的話可以自己寫多線程的組件!
代碼開始:
< !--
本代碼使用了http組件同時搜索出了幾個搜索引擎的數(shù)據(jù),讓所有的搜索結(jié)果顯示在一個頁面當(dāng)中,本文只是提供一種思路和思考
給大家展示ASP組件的強(qiáng)大功能!
由于本組件是非注冊組件可能功能有一定限制,同時由于同時搜索了幾個引擎(搜索引擎可以任意擴(kuò)充,但是會影響速度的),所以系統(tǒng)輸出數(shù)據(jù)的時間較長,請耐心等待
在使用本代碼前請你先去下載http://www.serverobjects.com/comp/asphttp3.zip,然好解壓縮到你的system32目錄(winnt or win2000)
使用regsvr32 asphttp.dll 注冊本組件,然后拷貝本文件到相關(guān)的iis可執(zhí)行目錄,使用IE或者netscape瀏覽
-- >
< %
’判斷是輸出頁面還是處理數(shù)據(jù),從而調(diào)用不同的部分
keyword=trim(request.form("keyword"))
if isnull(keyword) or keyword="" then
% >
< !--
html頁面代碼顯示
-- >
< html >
< head >
< title >ASPCN.COM 超級搜索引擎< /title >
< meta http-equiv="Content-Type" content="text/html; charset=gb2312" >
< META NAME="Author" CONTENT="蒲俊杰" >
< META NAME="Keywords" CONTENT="ASP,組件,www.aspcn.com" >
< style type="text/css" >
< !--
table { font-size: 9pt; font-style: normal}
.test { border: 1px #000000 dashed; border-color: #000000 none}
.test1 { background-color: #CCFFCC; clip: rect( ); font-size: 9pt; font-style: normal; border-style: dashed; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px}
-- >
< /style >
< /head >
< body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" >
< table width="75%" height="20" cellpadding="0" cellspacing="1" bgcolor="#66CC99" bordercolor="#FFFFFF" >
< tr >
< td height="4" >
< div >< font color="#000000" size="2" face="Arial" >ASPCN.COM< /font >< font color="#000000" size="3" face="Arial" >< /font >< b >< font color="#000000" size="3" face="Arial" >
< /font >< font color="#000000" size="3" face="仿宋_GB2312" >超級搜索引擎< /font >< /b >< /div >
< /td >
< /tr >
< tr bordercolor="#66CC99" >
< td height="21" >請選擇下面的搜索引擎:(考試,大提示:本搜索引擎只是適合于< font color="#ffffff" >網(wǎng)頁搜索< /font >)< /td >
< /tr >
< tr bordercolor="#FFFFFF" valign="top" >
< td height="20" >
< form method="post" action="http.asp" >
< table width="96%" height="21" >
< tr >
< td height="10" width="31%" >
< div >請輸入你要搜索的關(guān)鍵字: < /div >
< /td >
< td height="10" width="69%" >
< input type="text" name="keyword" >
< /td >
< /tr >
< tr < td height="2" width="31%" >
< div >請選擇你使用的搜索引擎: < /div >
< /td >
< td height="2" width="69%" >
< input type="checkbox" name="yeah" value="yeah" >
Yeah
< input type="checkbox" name="yahoo" value="yahoo" >
Yahoo
< input type="checkbox" name="sina" value="sina" >
Sina
< input type="checkbox" name="sohu" value="sohu" >
Sohu
< input type="checkbox" name="goyoyo" value="goyoyo" >
Goyoyo< /td >
< /tr >
< tr >
< td height="2" colspan="2" >
< div >
< input type="submit" name="Submit" value="讓我們開始吧" >
< /div >
< /td >
< /tr >
< /table >
< /form >
< /td >
< /tr >
< tr bordercolor="#FFFFFF" >
< td height="20" >備注:由于使用了多個搜索引擎檢索,所以系統(tǒng)輸出的時間較長,請耐心等待... ...< /td >
< /tr >
< tr bordercolor="#FFFFFF" >
< td height="20" >
< div >建議使用 IE 5.x 800*600訪問 ASPCN.COM 版權(quán)保留(2000-2001) < font size="2" >©< /font >< /div >
< /td >
< /tr >
< /table >
< /body >
< /html >
< !--
頁面代碼顯示結(jié)束
數(shù)據(jù)處理代碼顯示
-- >
< %else
Server.ScriptTimeout = 100’設(shè)置腳本時間,由于系統(tǒng)輸出時間較長所以必須修改腳本代碼執(zhí)行時間
Set http = Server.CreateObject("AspHTTP.Conn")’連結(jié)組件
keyword=request.form("keyword")’取得搜索關(guān)鍵字
if request.form("yeah")="yeah" then’判斷是否選擇使用yeah搜索引擎
http.Url = "http://search.163.com/cgi-bin/search/engine/search.fcgi?key="&keyword’處理搜索地址
http.RequestMethod = "GET"’設(shè)置取得數(shù)據(jù)方式"GET,取得數(shù)據(jù)"
response.write http.geturl’輸出搜索結(jié)果
end if
’以下代碼請參考上例的說明。
’使用yahoo
if request.form("yahoo")="yahoo" then
http.Url = "http://google.yahoo.com/bin/query_gb?p="&keyword
http.RequestMethod = "GET"
response.write http.geturl
end if
’使用sohu
if request.form("sohu")="sohu" then
http.Url ="http://search.sohu.com/cgi-bin/search_main.cgi?txt_keyword="&keyword&"&page_index=0&fuzzy=0&catagory=main"
http.RequestMethod = "GET"
response.write http.geturl
end if
’使用goyoyo
if request.form("goyoyo")="goyoyo" then
http.Url ="http://www.goyoyo.com.cn/gyy/query?dbs=guidedbs&code=GB&query="&keyword
http.RequestMethod = "GET"
response.write http.geturl
end if
set http=nothing
end if
’提交數(shù)據(jù)處理結(jié)束
% >