Ра6ота с Ftp

  • Автор темы BStudio
  • Дата начала
B

BStudio

Гость
#1
При написании кода я следовал по этому примеру:
http://www.codenet.ru/progr/vbasic/FTP.php

Написав всё в модуле у меня все окей (ошибок нет вроде)
у меня получилось вот так:

<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">CODE</div></div><div class="sp-body"><div class="sp-content">
Код:
	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 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 InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
Private Declare Function FtpDeleteFile Lib "wininet.dll" Alias "FtpDeleteFileA" (ByVal hFtpSession As Long, ByVal lpszFileName As String) As Boolean


Function CheckUpdates()
'On Error Resume Next
'CONNECTING
hINetSession = InternetOpen("MyFTPClient", 0, vbNullString, vbNullString, 0)
hSession = InternetConnect(hINetSession, "ftp.filekeeper.org", "21", "юзернейм", "пассворд", 1, 0, 0)

If FtpGetFile(hSession, "hgt_processes_list.sys", _
Application.StartupPath & "\hgt_processes_list.sys", _
False, 0, 1, 0) = False Then : Return False
Else : Return True
End If

'DISCONNECTING
Call InternetCloseHandle(hSession)
Call InternetCloseHandle(hINetSession)
End Function
Но вся лажа в том, что я не могу ничего сделать на своём FTP..
и после долгих 'простукиваний' каждого кусочка кода
мессаджьбоксами я выяснил, что InternetOpen возвращает False.


Не знаю, влияет это или нет, но факт остаётся фактом,
что я не могу скачать и\или поместить файл на FTP-сервер.

Кодебаевцы, помогите.. :)
Что не так..​
 

Вложения

B

BStudio

Гость
#2
http://msdn.microsoft.com/ru-ru/library/sy....webclient.aspx

Я НЕ ДУМАЛ, ЧТО МОЖЕТ БЫТЬ ТАК ПРОСТО!

Код:
		Dim wc As New WebClient
Try
wc.DownloadFile("ftp://USERNAME:PASSWORD@ftp.filekeeper.org/FILE", Application.StartupPath & "\FILE")
If My.Computer.FileSystem.GetFileInfo(Application.StartupPath & "\FILE").LastAccessTime > My.Computer.FileSystem.GetFileInfo(Application.StartupPath & "\FILE").LastAccessTime Then Return True
Catch ex As Exception
MessageBox.Show("Возникла ошибка при соединении с сервером:" & Chr(13) & "[" & ex.Message & "]", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
Return False
End Try
..Вот на примере моей проги..

Я сделал это !!! :lool:

Добавлено: От кодебаевцов, блин, хрен чего дождёшься... Ха-ха-ха...
« :) »