Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Ответ
 
Опции темы
Старый 11.05.2013, 19:26   #1
 Старший сержант
Аватар для OrBiT_DaRk
 
OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(
Регистрация: 31.05.2011
Сообщений: 201
Популярность: 24012
Сказал(а) спасибо: 1,360
Поблагодарили 478 раз(а) в 251 сообщениях
Отправить сообщение для OrBiT_DaRk с помощью Skype™
 
По умолчанию [.NET] Работа с FTP.

Здравствуйте, сейчас я покажу как работать с FTP.
Я покажу как:

Загружать файл
Скачивать файл
Удалять файл
Создавать папку
Удалять папку



Для начала создадим проект, добавим на форму 5 кнопок и 3 текстбокса.
[Ссылки могут видеть только зарегистрированные пользователи. ]

Перейдем к коду:

В самом верху кода пишем:
Код:
Imports System.Net
Imports System.Net.WebRequestMethods.Ftp
Imports System.Collections.Generic
Imports Utilities.FTP
Под:
Код:
Public Class Form1
Пишем:
Код:
  Dim op As New OpenFileDialog
    Dim str As String
    Dim sv As New FolderBrowserDialog
 Private Function FtpFolderDelete(ByVal folder_name As String, ByVal file_name As String, ByVal username As String, ByVal password As String) As Boolean
        Try
            Dim myFtpWebRequest As FtpWebRequest
            Dim myFtpWebResponse As FtpWebResponse
            myFtpWebRequest = WebRequest.Create("ftp://" & folder_name & "/" & file_name)
            myFtpWebRequest.Credentials = New NetworkCredential(username, password)
            myFtpWebRequest.Method = WebRequestMethods.Ftp.RemoveDirectory
            myFtpWebResponse = myFtpWebRequest.GetResponse()
            myFtpWebResponse.Close()
            Return True
        Catch ex As Exception
            Return False
        End Try

    End Function
    Private Function FtpFileDelete(ByVal folder_name As String, ByVal file_name As String, ByVal username As String, ByVal password As String) As Boolean
        Try
            Dim myFtpWebRequest As FtpWebRequest
            Dim myFtpWebResponse As FtpWebResponse
            myFtpWebRequest = WebRequest.Create("ftp://" & folder_name & "/" & file_name)
            myFtpWebRequest.Credentials = New NetworkCredential(username, password)
            myFtpWebRequest.Method = WebRequestMethods.Ftp.DeleteFile
            myFtpWebResponse = myFtpWebRequest.GetResponse()
            myFtpWebResponse.Close()
            Return True
        Catch ex As Exception
            Return False
        End Try
      
    End Function
    Private Function FtpFolderCreate(ByVal folder_name As String, ByVal username As String, ByVal password As String) As Boolean
        Dim request As Net.FtpWebRequest = CType(FtpWebRequest.Create("ftp://" & folder_name & "/" & str), FtpWebRequest)
        request.Credentials = New NetworkCredential(username, password)
        request.Method = WebRequestMethods.Ftp.MakeDirectory

        Try
            Using response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)

            End Using
        Catch ex As WebException
            Dim response As FtpWebResponse = DirectCast(ex.Response, FtpWebResponse)

            If response.StatusCode = FtpStatusCode.ActionNotTakenFileUnavailable Then
                Return False
            End If
        End Try
        Return True
    End Function
    Private Function FtpFileUpload(ByVal folder_name As String, ByVal file_name As String, ByVal username As String, ByVal password As String) As Boolean
        Try
            Dim request As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create("ftp://" & folder_name & "/" & op.SafeFileName), System.Net.FtpWebRequest)
            request.Credentials = New System.Net.NetworkCredential(username, password)
            request.Method = System.Net.WebRequestMethods.Ftp.UploadFile

            Dim file() As Byte = System.IO.File.ReadAllBytes(file_name)

            Dim strz As System.IO.Stream = request.GetRequestStream()
            strz.Write(file, 0, file.Length)
            strz.Close()
            strz.Dispose()
            Return True
        Catch ex As Exception
            Return False
        End Try
       
    End Function
    Private Function FtpFileDownload(ByVal host As String, ByVal remoteFile As String, ByVal localFile As String, ByVal username As String, ByVal password2 As String) As Boolean
        Try
           
            localFile = localFile & "/" & remoteFile
            Dim URI As String = "ftp://" & host & "/" & remoteFile
            Dim ftp As System.Net.FtpWebRequest = CType(System.Net.FtpWebRequest.Create(URI), System.Net.FtpWebRequest)
            ftp.Credentials = New System.Net.NetworkCredential(username, password2)
            ftp.KeepAlive = False
            ftp.UseBinary = True
            ftp.Method = System.Net.WebRequestMethods.Ftp.DownloadFile

            Using response As System.Net.FtpWebResponse = CType(ftp.GetResponse, System.Net.FtpWebResponse)
                Using responseStream As IO.Stream = response.GetResponseStream

                    Using fs As New IO.FileStream(localFile, IO.FileMode.Create)
                        Dim buffer(2047) As Byte
                        Dim read As Integer = 0
                        Do
                            read = responseStream.Read(buffer, 0, buffer.Length)
                            fs.Write(buffer, 0, read)
                        Loop Until read = 0
                        responseStream.Close()
                        fs.Flush()
                        fs.Close()
                    End Using
                    responseStream.Close()
                End Using
                response.Close()
            End Using
            Return True
        Catch ex As Exception
            Return False
        End Try
       
    End Function
(Все функции собирал и писал сам.)

[Ссылки могут видеть только зарегистрированные пользователи. ]

Код первой кнопки:
Код:
 op.ShowDialog()
        If op.FileName = "" Then
        Else
            If FtpFileUpload(TextBox1.Text, op.FileName, TextBox3.Text, TextBox4.Text) = True Then
                MsgBox("Удачно")
            Else
                MsgBox("Не удачно")
            End If
        End If
Код второй кнопки:
Код:
str = InputBox("Введите путь к файлу")
        sv.ShowDialog()

        If sv.SelectedPath = "" Then
        Else

            If FtpFileDownload(TextBox1.Text, str, sv.SelectedPath, TextBox3.Text, TextBox4.Text) = True Then
                MsgBox("Удачно")
            Else
                MsgBox("Не удачно")
            End If
        End If
Код третьей кнопки:
Код:
str = InputBox("Введите название новой папки")
        If FtpFolderCreate(TextBox1.Text, TextBox3.Text, TextBox4.Text) = True Then
            MsgBox("Удачно")
        Else
            MsgBox("Не удачно")
        End If
Код четвертой кнопки:
Код:
str = InputBox("Введите название файла")
        If FtpFileDelete(TextBox1.Text, str, TextBox3.Text, TextBox4.Text) = True Then
            MsgBox("Удачно")
        Else
            MsgBox("Не удачно")
        End If
Код пятой кнопки:
Код:
 str = InputBox("Введите название папки")
        If FtpFolderDelete(TextBox1.Text, str, TextBox3.Text, TextBox4.Text) = True Then
            MsgBox("Удачно")
        Else
            MsgBox("Не удачно")
        End If
Готово, можно тестить. В первый текстбокс вписываем ип (пример: 123.123.232.123:1232), во второй логин, в третий пароль.
Если что-то не понятно, смотрим видео.


Video



Исходники:
[Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ]


________________

Последний раз редактировалось OrBiT_DaRk; 11.05.2013 в 22:16.
  Ответить с цитированием
Старый 04.06.2013, 16:40   #2
 Разведчик
Аватар для Hygo!
 
Hygo! скоро будет известенHygo! скоро будет известенHygo! скоро будет известен
Регистрация: 31.05.2013
Сообщений: 2
Популярность: 212
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
 
По умолчанию Re: [.NET] Работа с FTP.

Лучше использовать известные фтп клиенты, например totalcomander, и защищен и удобный интерфейс. А так, мало ли пароли не туда уйдут
  Ответить с цитированием
Старый 07.07.2013, 20:14   #3
 Сержант
Аватар для avi2011class
 
avi2011class сломал счётчик популярности :(avi2011class сломал счётчик популярности :(avi2011class сломал счётчик популярности :(avi2011class сломал счётчик популярности :(avi2011class сломал счётчик популярности :(avi2011class сломал счётчик популярности :(avi2011class сломал счётчик популярности :(avi2011class сломал счётчик популярности :(avi2011class сломал счётчик популярности :(avi2011class сломал счётчик популярности :(avi2011class сломал счётчик популярности :(
Регистрация: 02.09.2012
Сообщений: 123
Популярность: 32496
Сказал(а) спасибо: 393
Поблагодарили 116 раз(а) в 89 сообщениях
Отправить сообщение для avi2011class с помощью Skype™
 
По умолчанию Re: [.NET] Работа с FTP.

Цитата:
Сообщение от Hygo!Посмотреть сообщение
Лучше использовать известные фтп клиенты, например totalcomander, и защищен и удобный интерфейс. А так, мало ли пароли не туда уйдут

Для обучения само то, а ТоталКоммандер не позволит автоматизировать. Например рассылку по ФТП ты с ним фиг сделаешь.
________________
  Ответить с цитированием
Старый 19.08.2013, 23:08   #4
 Пехотинец
Аватар для _PONTIAK_
 
_PONTIAK_ гордость нации_PONTIAK_ гордость нации_PONTIAK_ гордость нации_PONTIAK_ гордость нации_PONTIAK_ гордость нации_PONTIAK_ гордость нации_PONTIAK_ гордость нации_PONTIAK_ гордость нации_PONTIAK_ гордость нации_PONTIAK_ гордость нации_PONTIAK_ гордость нации
Регистрация: 09.08.2013
Сообщений: 85
Популярность: 3316
Золото Zhyk.Ru: 7
Сказал(а) спасибо: 213
Поблагодарили 145 раз(а) в 104 сообщениях
Отправить сообщение для _PONTIAK_ с помощью Skype™
 
По умолчанию Re: [.NET] Работа с FTP.

Привет я только начинаю изучать делфи и паскаль но всё-таки объясните что такое
Цитата:
Сообщение от OrBiT_DaRkПосмотреть сообщение
FTP

________________
  Ответить с цитированием
Старый 19.08.2013, 23:21   #5
 Старший сержант
Аватар для Sinyss
 
Sinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака НоррисаSinyss троюродный дядя Чака Норриса
Регистрация: 29.07.2011
Сообщений: 197
Популярность: 8989
Сказал(а) спасибо: 45
Поблагодарили 175 раз(а) в 139 сообщениях
Отправить сообщение для Sinyss с помощью Skype™
 
По умолчанию Re: [.NET] Работа с FTP.

Цитата:
Сообщение от _PONTIAK_Посмотреть сообщение
Привет я только начинаю изучать делфи и паскаль но всё-таки объясните что такое

Ты не в том разделе тогда...
[Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Старый 23.08.2013, 16:33   #6
 Старший сержант
Аватар для OrBiT_DaRk
 
OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(OrBiT_DaRk сломал счётчик популярности :(
Регистрация: 31.05.2011
Сообщений: 201
Популярность: 24012
Сказал(а) спасибо: 1,360
Поблагодарили 478 раз(а) в 251 сообщениях
Отправить сообщение для OrBiT_DaRk с помощью Skype™
 
По умолчанию Re: [.NET] Работа с FTP.

Цитата:
Сообщение от MrGustПосмотреть сообщение
Спасибо,но беда в том что он не защищен

На хостинге, создаешь учетку для ФТП с доступом к определенной папке. Даже если узнают данные, кроме папки у них ничего не будет.
________________
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с MDI megatronx Вопросы и ответы, обсуждения 0 21.04.2011 09:03

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 14:58.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net