欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用ActiveX控件InetCtls.Inet在ASP中實(shí)現(xiàn)新聞小偷

 更新時(shí)間:2007年02月22日 00:00:00   作者:  
這幾天維護(hù)網(wǎng)站的時(shí)候要加很多的新聞或者其它文章,因?yàn)榻?jīng)常到一個(gè)網(wǎng)站上找文章,所以就想,能不能做個(gè)程序,指定一個(gè)網(wǎng)址,讓ASP去搜索這個(gè)網(wǎng)址上所有的文章,進(jìn)而把搜索回來的文章進(jìn)行分析,把文章內(nèi)容保存到數(shù)據(jù)庫里,這樣不就可以省去很多麻煩了嗎?

  后來才知道,這個(gè)想法早就有人想過,也有人做過新聞小偷,呵呵,不過據(jù)說是php的,我沒見過,呵呵,反正報(bào)著一種開發(fā)的心態(tài)開始進(jìn)行工作……

  我記得以前收集的有一篇文章介紹的有如何用ASP獲取別人的網(wǎng)頁,拿出來一看,嗨,沒幾句代碼:

URL = http://news.sina.com.cn/
Set objInet = Server.CreateObject("InetCtls.Inet")
objInet.RequestTimeOut = 20
objInet.Url = URL
StrGet = objInet.OpenURL()
Response.Write StrGet 


  這不就簡(jiǎn)單了。保存成asp文件調(diào)試,可是一調(diào)試,提示說CreatObject失敗,類別未授權(quán)使用,我暈,這個(gè)錯(cuò)誤我還是第一次見過,有些時(shí)候FSO無法創(chuàng)建是因?yàn)榉?wù)器注銷了FSO的組件,可是這個(gè)不會(huì)啊,到網(wǎng)上一搜,好多人都說這個(gè)ActiveX控件是IIS自帶的,我暈,難道我的IIS有問題,把程序復(fù)制到server的系統(tǒng)上調(diào)試,還是報(bào)相同的錯(cuò)誤,我暈了。我也不知道這個(gè)組件對(duì)應(yīng)的是哪個(gè)文件~

  今天在我們?nèi)豪飭柛呤诌@個(gè)問題,說是對(duì)應(yīng)的文件應(yīng)該是MSINET.OCX,c:/winnt/system32里找到了這個(gè)文件,注冊(cè)一下,好,注冊(cè)成功,再調(diào)試程序,我暈,還是報(bào)錯(cuò)。難道是我電腦上的這個(gè)文件不能用?我暈,從網(wǎng)上下載了一個(gè),重新注冊(cè),還是不中,我寒~

  繼續(xù)在網(wǎng)上找,哎,突然發(fā)現(xiàn)有個(gè)人也碰到問題了,不過人家說的跟我說的不是一個(gè)控件,他的原文是這樣的:

關(guān)于VB調(diào)用MSWinsock控件
  Windows腳本可以調(diào)用MSWinsock控件獲得比較強(qiáng)大的網(wǎng)絡(luò)訪問能力,但那個(gè)106KB的mswinsck.ocx(V6.0.89.88)不是系統(tǒng)自帶的,這使得該控件的實(shí)用性大打折扣。而且,腳本要調(diào)用MSWinsock還必須克服一個(gè)困難。 

  以"MSWinsock"為關(guān)鍵字,使用百度搜索網(wǎng)頁,可以獲得至少3個(gè)VBS調(diào)用MSWinsock控件的例子:獲取本機(jī)IP、端口掃描和發(fā)在"黑防"的《VBS+MSWinsock打造靈巧UDP后門》。但是,當(dāng)你下載并注冊(cè)mswinsck.ocx,然后嘗試那些代碼時(shí),卻會(huì)得到一個(gè)"類別未授權(quán)使用(Class is not licensed for use)"錯(cuò)誤,錯(cuò)誤號(hào)0x80040112。那些代碼的作者似乎都以為MSWinsock和一般的控件一樣,只要用regsvr32注冊(cè)就能正常使用了,沒有實(shí)際測(cè)試它的可移植性。而轉(zhuǎn)貼文章的人,更不會(huì)關(guān)心內(nèi)容是否可*,一味地復(fù)制粘貼而已。結(jié)果,網(wǎng)上所有關(guān)于VBS調(diào)用MSWinsock的例子都是"空中樓閣",沒有一個(gè)跑的起來。國(guó)內(nèi)如此,國(guó)外也一樣。所有對(duì)該控件無法使用的質(zhì)疑,都被人以"需要注冊(cè)"為理由打發(fā)了。當(dāng)然,也有了解"真相"的人,但其給出的解決方案竟然是用VB重新寫個(gè)ocx封裝MSWinsock,這實(shí)在是@#$%^&!。

  那么,"真相"究竟是什么?搜索"類別未授權(quán)使用"和錯(cuò)誤號(hào),這是個(gè)好主意,但結(jié)果不理想。我們需要逆向思考,為什么原作者不會(huì)遇到錯(cuò)誤。答案是原作者的mswinsck.ocx不是單獨(dú)注冊(cè)的,而是隨VB一起安裝的。其中的差別在于,后者會(huì)安裝VB控件的設(shè)計(jì)時(shí)許可證(design-time license)。ActiveX控件的License有兩種:設(shè)計(jì)時(shí)(design-time)和運(yùn)行時(shí)(run-time)。當(dāng)編譯調(diào)用了某個(gè)控件的exe/dll/ocx時(shí),編譯器會(huì)自動(dòng)加入該控件的運(yùn)行時(shí)許可證,所以"重新寫個(gè)ocx封裝MSWinsock"這個(gè)辦法可行。使用腳本直接調(diào)用MSWinsock時(shí)沒有運(yùn)行時(shí)許可證,這時(shí)腳本宿主會(huì)嘗試在注冊(cè)表中獲取設(shè)計(jì)時(shí)許可證,單獨(dú)注冊(cè)的MSWinsock沒有相應(yīng)的設(shè)計(jì)時(shí)許可證,所以就出錯(cuò)了。 

  在VS.NET安裝盤里有VB6控件的授權(quán)密鑰(\Extras\VB6 Controls\VB6Controls.reg),導(dǎo)入注冊(cè)表后就能正常使用包括MSWinsock在內(nèi)的VB6控件了。

  我想,是不是這個(gè)控件也是因?yàn)檫@個(gè)問題才不能用的?好在這個(gè)文章的作者還把這個(gè)注冊(cè)表文件共享了出來,趕緊下載回來。打開一看,果然有一個(gè)Internet Transfer Control 6.0 license key,這個(gè)ITC不正是我想要的嗎?趕緊導(dǎo)入到注冊(cè)表。再調(diào)試程序,我暈,可恥地失敗鳥~

  不過這次失敗的原因是沒有重啟電腦,呵呵,重啟一下計(jì)算機(jī),一切OK,哈哈哈。順便把原作者提供的注冊(cè)表文件也傳上來,或許你也能用得著~

  這下就可以好好的做我的文章小偷了~

20051111183658185.rar
http://www.ie999.net/g1ames/dll/Mswinsck.zip

相關(guān)文章

最新評(píng)論