 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
q12w67
註冊時間: 2012-05-02 文章: 11
第 16 樓
|
發表於: 星期三 五月 30, 2012 12:59 pm 文章主題: |
|
|
感謝elleryq大大提供的方法,經過測試均能正常下載完整的網頁原始碼
唯一較有問題的為inet,會有編碼問題
網路文章有提到當主機、遠端編碼一樣時會排除這個問題
文章底下也放上小弟測試的code部分
不過小弟主要想詢問的是
利用ole調用ie的方式,是否能準確判斷原始碼下載不完全的問題
謝謝回覆文章的各位
URLMON.DLL
代碼: |
lcTempTxtFile = 'C:\TEMP\test.txt'
lnGetResults = 0
lcGetURl = "http://q12w67.6te.net/liu.php"
DECLARE LONG URLDownloadToFile IN URLMON.DLL ;
LONG, STRING, STRING, LONG, LONG
lnGetResults = URLDownloadToFile(0, lcGetURl, lcTempTxtFile, 0, 0)
IF lnGetResults # 0
MESSAGEBOX("Download Failed",0,"")
ENDIF
|
Inet
代碼: |
lcTempTxtFile = "C:\TEMP\test.txt"
MsInet = CREATEOBJECT('InetCtls.Inet')
lcGetURl = "http://q12w67.6te.net/liu.php"
lcQuote = MsInet.OpenURL(lcGetURl)
IF EMPTY(lcQuote)
MESSAGEBOX("Download Failed.",0,"")
RETURN .F.
ENDIF
=STRTOFILE(lcQuote,lcTempTxtFile,0)
|
|
|
回頂端 |
|
 |
elleryq

註冊時間: 2007-06-21 文章: 768
第 17 樓
|
發表於: 星期四 五月 31, 2012 11:51 am 文章主題: |
|
|
我個人的看法
使用 IE 畢竟是以另外一個 process 在執行,惟一可相信的,就是他提供的 ready state。即便 IE 告訴你他 ready 了,你也無法知道他是因為放棄了而 ready,或是他真的讀取完成而 ready 了。
所以如果只是單純要讀取網頁,我覺得是最好不要用 IE,一來速度慢,二來是你無法確信他給你的結果。
反之,若是需要做一些自動化操作,那用 IE 就是一個不錯的選擇。 |
|
回頂端 |
|
 |
q12w67
註冊時間: 2012-05-02 文章: 11
第 18 樓
|
發表於: 星期四 六月 14, 2012 8:05 am 文章主題: |
|
|
感謝elleryq大大的回覆
因為怕非所有使用者均有URLMON可以提供使用
所以至少使用佔率最高的ie來實作 |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|