powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / как скачать файл?
8 сообщений из 8, страница 1 из 1
как скачать файл?
    #32180538
rock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как в delphi7 скачать файл через HTTP (и прокси), зная URL. Буду благодарен за примеры.
...
Рейтинг: 0 / 0
как скачать файл?
    #32180869
LG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
; example of simple downloading file via http
; ripped from Vecna's sources.

MAXBUFSIZE              equ     65536

callW                   macro   x
                        extern  x:PROC
                        call    x
                        endm

                        p386
                        model   flat
                        locals  __
                        jumps

                        .data

library                 db      'WININET.DLL',0

szInternetOpenA         db      'InternetOpenA',0
szInternetOpenUrlA      db      'InternetOpenUrlA',0
szInternetReadFile      db      'InternetReadFile',0
szInternetCloseHandle   db      'InternetCloseHandle',0

InternetOpenA           dd      ?
InternetOpenUrlA        dd      ?
InternetReadFile        dd      ?
InternetCloseHandle     dd      ?

url                     db      'http:// 127 . 0 . 0 . 1 /index.html', 0 

h                       dd      ?       ; used handles
h2                      dd      ?       ;

bufptr                  dd      ?       ; ptr to output buffer (allocated)
bufsize                 dd      ?       ; size data in buffer

                        .code
start:

                        push    offset library
                        callW   LoadLibraryA
                        xchg    ebx, eax

imp                     macro   x
                        ;;
                        push    offset sz&x
                        push    ebx
                        callW   GetProcAddress
                        mov     x, eax
                        ;;
                        endm

                        imp     InternetOpenA
                        imp     InternetOpenUrlA
                        imp     InternetReadFile
                        imp     InternetCloseHandle

                        ;;

                        push    MAXBUFSIZE
                        push    40h         ; GMEM_FIXED+GMEM_ZEROINIT
                        callW   GlobalAlloc
                        mov     bufptr, eax

                        ;;


                        push     0   0   0   0   0 
                        call    InternetOpenA
                        or      eax, eax
                        jz      __exit
                        mov     h, eax

                        push     0   0   0   0 
                        push    offset url
                        push    h
                        call    InternetOpenUrlA
                        or      eax, eax
                        jz      __exit
                        mov     h2, eax

                        push    offset bufsize
                        push    MAXBUFSIZE
                        push    bufptr
                        push    h2
                        call    InternetReadFile

                        push    h2
                        call    InternetCloseHandle

                        push    h
                        call    InternetCloseHandle

                        mov     ecx, bufsize
                        mov     edi, bufptr
                        mov     byte ptr [edi+ecx],  0 

                        ; display url and downloaded stuff
                        push     0 
                        push    offset url
                        push    bufptr
                        push     0 
                        callW   MessageBoxA

__exit:                 push    - 1 
                        callW   ExitProcess

                        end     start


А если серьезно INDY
...
Рейтинг: 0 / 0
как скачать файл?
    #32180988
rock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LG, я пономаю что инди. Но при попытке коннкета через IDHHTP, вылазит ошибка host unreachable. Прокси прописан, порт тоже. Даже не знаю что делать.
...
Рейтинг: 0 / 0
как скачать файл?
    #32181022
LG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.indyproject.org/indy/demodownloads/I9D6_Demos_24Nov02.zip
...
Рейтинг: 0 / 0
как скачать файл?
    #32181053
LG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.sources.ru/delphi/delphi_get_file_from_the_net.shtml
...
Рейтинг: 0 / 0
как скачать файл?
    #32181056
LG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.sources.ru/delphi/internet/download_url_with_default_net_conf.shtml
...
Рейтинг: 0 / 0
как скачать файл?
    #32181057
LG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потратил около 1 мин. на поиски ... Удачи ...
...
Рейтинг: 0 / 0
как скачать файл?
    #32182623
Master Skiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно так скачать через IdHTTP:

with HTTP.ProxyParams do
begin
BasicAuthentication := True; // (!)
ProxyServer := Server;
ProxyUsername := UserName;
ProxyPassword := Password;
ProxyPort := Port;
end;

var
S: string;

try
S := HTTP.Get('http://www.domain.com/file.zip');
except
S := '';
end;

if S <> '' then
// Сохраняем файл
try
F := TFileStream.Create('C:\MyFile.zip', fmCreate);
F.Write(S, Length(S));
F.Free;
except
end;
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / как скачать файл?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]