請問使用TWebBrowser當取出網頁上的所有links時,如何下載 |
答題得分者是:hagar
|
iamjsn
初階會員 發表:78 回覆:95 積分:44 註冊:2002-08-16 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
參考這篇: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19514
或: http://www.lmc-mediaagentur.de/dpool/tips/0941.htm
Answer 1:
uses URLMon; { ... } if URLDownloadToFile(nil, 'http://go.to/masdp', 'c:\index.html', 0, nil) <> 0 then MessageBox(Handle, 'An error ocurred while downloading the file.', PChar(Application.Title), MB_ICONERROR or MB_OK); { ... }Answer 2: uses Wininet; var InternetBrowserUserAgent: String; {Set it as you like. Win98/IE uses 'Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)' } { ... } function GetInternetStream (URL: String; Stream: TStream): LongInt; type TNetBuffer = Array[0..1023] of Byte; PNetBuffer = ^TNetBuffer; var ihConnect,iDocument: HINTERNET; NetBuffer: PNetBuffer; BufferSize: Integer; I: integer; begin Result := - 1; ihConnect := InternetOpen(PChar(InternetBrowserUserAgent), LOCAL_INTERNET_ACCESS, '', '', 0); try if ihConnect <> NIL then begin iDocument := InternetOpenURL(ihConnect, PChar(URL), NIL, Cardinal(- 1), INTERNET_FLAG_RELOAD or INTERNET_FLAG_DONT_CACHE or INTERNET_FLAG_RAW_DATA, 0); try if iDocument <> NIL then begin Result := 0; try New (NetBuffer); repeat InternetReadFile(iDocument, NetBuffer, SizeOf(TNetBuffer), BufferSize); if BufferSize > 0 then begin Result := Result Stream.Write(NetBuffer^, BufferSize); end; until (BufferSize < SizeOf(TNetBuffer)); finally Dispose(NetBuffer); end; end; finally internetCloseHandle (iDocument); end; end; finally InternetCloseHandle (ihConnect); end; end;--- Everything I say is a lie. 發表人 - hagar 於 2003/12/19 13:59:51 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |