利用ActiveX控件InetCtls.Inet在ASP中實現新聞小偷
2024-05-04 11:01:57
供稿:網友
這幾天維護網站的時候要加很多的新聞或者其它文章,因為經常到一個網站上找文章,所以就想,能不能做個程序,指定一個網址,讓ASP去搜索這個網址上所有的文章,進而把搜索回來的文章進行分析,把文章內容保存到數據庫里,這樣不就可以省去很多麻煩了嗎?
后來才知道,這個想法早就有人想過,也有人做過新聞小偷,呵呵,不過據說是php的,我沒見過,呵呵,反正報著一種開發的心態開始進行工作……
我記得以前收集的有一篇文章介紹的有如何用ASP獲取別人的網頁,拿出來一看,嗨,沒幾句代碼:
URL = http://news.sina.com.cn/
Set objInet = Server.CreateObject("InetCtls.Inet")
objInet.RequestTimeOut = 20
objInet.Url = URL
StrGet = objInet.OpenURL()
Response.Write StrGet
這不就簡單了。保存成asp文件調試,可是一調試,提示說CreatObject失敗,類別未授權使用,我暈,這個錯誤我還是第一次見過,有些時候FSO無法創建是因為服務器注銷了FSO的組件,可是這個不會啊,到網上一搜,好多人都說這個ActiveX控件是IIS自帶的,我暈,難道我的IIS有問題,把程序復制到server的系統上調試,還是報相同的錯誤,我暈了。我也不知道這個組件對應的是哪個文件~
今天在我們群里問高手這個問題,說是對應的文件應該是MSINET.OCX,c:/winnt/system32里找到了這個文件,注冊一下,好,注冊成功,再調試程序,我暈,還是報錯。難道是我電腦上的這個文件不能用?我暈,從網上下載了一個,重新注冊,還是不中,我寒~
繼續在網上找,哎,突然發現有個人也碰到問題了,不過人家說的跟我說的不是一個控件,他的原文是這樣的:
關于VB調用MSWinsock控件
Windows腳本可以調用MSWinsock控件獲得比較強大的網絡訪問能力,但那個106KB的mswinsck.ocx(V6.0.89.88)不是系統自帶的,這使得該控件的實用性大打折扣。而且,腳本要調用MSWinsock還必須克服一個困難。
以"MSWinsock"為關鍵字,使用百度搜索網頁,可以獲得至少3個VBS調用MSWinsock控件的例子:獲取本機IP、端口掃描和發在"黑防"的《VBS+MSWinsock打造靈巧UDP后門》。但是,當你下載并注冊mswinsck.ocx,然后嘗試那些代碼時,卻會得到一個"類別未授權使用(Class is not licensed for use)"錯誤,錯誤號0x80040112。那些代碼的作者似乎都以為MSWinsock和一般的控件一樣,只要用regsvr32注冊就能正常使用了,沒有實際測試它的可移植性。而轉貼文章的人,更不會關心內容是否可*,一味地復制粘貼而已。結果,網上所有關于VBS調用MSWinsock的例子都是"空中樓閣",沒有一個跑的起來。國內如此,國外也一樣。所有對該控件無法使用的質疑,都被人以"需要注冊"為理由打發了。當然,也有了解"真相"的人,但其給出的解決方案竟然是用VB重新寫個ocx封裝MSWinsock,這實在是@#$%^&!。