Ра6ота с Ftp

Тема в разделе "Visual Basic", создана пользователем BStudio, 4 окт 2010.

  1. BStudio

    BStudio Гость

    При написании кода я следовал по этому примеру:
    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">
    Код (LotusScript):
        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-сервер.

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

    Вложения:

  2. BStudio

    BStudio Гость

    http://msdn.microsoft.com/ru-ru/library/sy....webclient.aspx

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

    Код (LotusScript):
            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:

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

Поделиться этой страницей