powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ftp
3 сообщений из 3, страница 1 из 1
ftp
    #34053914
Smiler™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь копировать с фтп(без прокси работает):

hINetSession = InternetOpen("ESU", 0, vbNullString, vbNullString, 0)
hSession = InternetConnect(hINetSession, "server.ftp.ua", "21", "anonymous", "", INTERNET_SERVICE_FTP, 0, 0)
If FtpGetFile (hSession, "/ESU/CurrentVersion/esu_prj.exe", "c:\esu\esu_prj.exe", False, 0, 1, 0) = False Then
MsgBox "Call to FtpGetFile Failed!"
End If

Call InternetCloseHandle(hSession)
Call InternetCloseHandle(hINetSession)


само собой все АПИ обьявлены:
Private Const INTERNET_SERVICE_FTP = 1
Private Const INTERNET_SERVICE_GOPHER = 2
Private Const INTERNET_SERVICE_HTTP = 3

Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type


Private Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * 260
cAlternate As String * 14
End Type




Private Declare Function InternetOpen _
Lib "wininet.dll" Alias "InternetOpenA" ( _
ByVal sAgent As String, _
ByVal nAccessType As Long, _
ByVal sProxyName As String, _
ByVal sProxyBypass As String, _
ByVal nFlags As Long) As Long
Private Declare Function InternetConnect _
Lib "wininet.dll" Alias "InternetConnectA" ( _
ByVal hInternetSession As Long, _
ByVal sServerName As String, _
ByVal nServerPort As Integer, _
ByVal sUserName As String, _
ByVal sPassword As String, _
ByVal nService As Long, _
ByVal dwFlags As Long, _
ByVal dwContext As Long) As Long


Private Declare Function FtpGetFile _
Lib "wininet.dll" Alias "FtpGetFileA" ( _
ByVal hFtpSession As Long, _
ByVal lpszRemoteFile As String, _
ByVal lpszNewFile As String, _
ByVal fFailIfExists As Boolean, _
ByVal dwFlagsAndAttributes As Long, _
ByVal dwFlags As Long, _
ByVal dwContext As Long) As Boolean

Private Declare Function InternetCloseHandle _
Lib "wininet.dll" (ByVal hInet As Long) As Integer


Private Declare Function FtpFindFirstFile _
Lib "wininet.dll" Alias "FtpFindFirstFileA" ( _
ByVal hFtpSession As Long, _
ByVal lpszSearchFile As String, _
ByRef lpFindFileData As WIN32_FIND_DATA, _
ByVal dwFlags As Long, _
ByVal dwContent As Long) As Long

Private Declare Function InternetFindNextFile _
Lib "wininet.dll" Alias "InternetFindNextFileA" ( _
ByVal hFind As Long, _
ByRef lpvFindData As WIN32_FIND_DATA) As Long


ехе-шник с фпт копирует(на фтп ехе-шник не битый) пытаюсь запустить скопированый ехе, он оказываетси "битым".

Не подскажите в чём дело может быть?
...
Рейтинг: 0 / 0
ftp
    #34058916
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А через WinSock? или сторонние компоненты?
Например на vbip.com есть готовые классы для работы с FTP на основе WinSock
Нормально, быстро работают, и мало весят
Есть также Power FTP Tool от Dart
...
Рейтинг: 0 / 0
ftp
    #34061266
AndrewNico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Smiler™
If FtpGetFile (hSession, "/ESU/CurrentVersion/esu_prj.exe", "c:\esu\esu_prj.exe", False, 0, 1, 0) = False Then

Не подскажите в чём дело может быть?

Может, стоит поменять формат передачи на binary? Т.е.:

If FtpGetFile (hSession, "/ESU/CurrentVersion/esu_prj.exe", "c:\esu\esu_prj.exe", False, 0, 2 , 0) = False Then
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ftp
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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