Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как работать с FTP? 
V
    Опции темы
JaguarSmith
  Дата 1.9.2006, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 16.1.2005

Репутация: нет
Всего: 1



Доброе время суток! smile 

 smile Люди добрые подскажите есть ли что-то в vs2005 для работы с FTP? Нужно читать по FTP папки скачивать/загружать файлы и всё-такое...

Если нет в самой VS может есть какие-то бесплатные или недорогие компоненты?

Заранее СПАСИБО! smile 
PM MAIL YIM   Вверх
ivashkanet
Дата 1.9.2006, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 5
Всего: 149



JaguarSmith, а ты разве в MSDN не залазил? smile 
FtpWebRequest и FtpWebResponse тебе в помощь
Правда там C#, но это, думаю, не проблемма smile

How to: Download Files with FTP 
Код

using System;
using System.IO;
using System.Net;
using System.Text;

namespace Examples.System.Net
{
    public class WebRequestGetExample
    {
        public static void Main ()
        {
            // Get the object used to communicate with the server.
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/test.htm");
            request.Method = WebRequestMethods.Ftp.DownloadFile;

            // This example assumes the FTP site uses anonymous logon.
            request.Credentials = new NetworkCredential ("anonymous","[email protected]");

            FtpWebResponse response = (FtpWebResponse)request.GetResponse();
    
            Stream responseStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(responseStream);
            Console.WriteLine(reader.ReadToEnd());

            Console.WriteLine("Download Complete, status {0}", response.StatusDescription);
    
            reader.Close();
            response.Close();  
        }
    }
}


How to: Upload Files with FTP 
Код

using System;
using System.IO;
using System.Net;
using System.Text;

namespace Examples.System.Net
{
    public class WebRequestGetExample
    {
        public static void Main ()
        {
            // Get the object used to communicate with the server.
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/test.htm");
            request.Method = WebRequestMethods.Ftp.UploadFile;

            // This example assumes the FTP site uses anonymous logon.
            request.Credentials = new NetworkCredential ("anonymous","[email protected]");
            
            // Copy the contents of the file to the request stream.
            StreamReader sourceStream = new StreamReader("testfile.txt");
            byte [] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
            sourceStream.Close();
            request.ContentLength = fileContents.Length;

            Stream requestStream = request.GetRequestStream();
            requestStream.Write(fileContents, 0, fileContents.Length);
            requestStream.Close();

            FtpWebResponse response = (FtpWebResponse)request.GetResponse();
    
            Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);
    
            response.Close();
            }
        }
    }
}


 How to: List Directory Contents with FTP  
Код

using System;
using System.IO;
using System.Net;
using System.Text;

namespace Examples.System.Net
{
    public class WebRequestGetExample
    {
        public static void Main ()
        {
            // Get the object used to communicate with the server.
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/");
            request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;

            // This example assumes the FTP site uses anonymous logon.
            request.Credentials = new NetworkCredential ("anonymous","[email protected]");

            FtpWebResponse response = (FtpWebResponse)request.GetResponse();
    
            Stream responseStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(responseStream);
            Console.WriteLine(reader.ReadToEnd());

            Console.WriteLine("Directory List Complete, status {0}", response.StatusDescription);
    
            reader.Close();
            response.Close();
        }
    }
}



P.S. Там есть еще про проксю smile
PM MAIL WWW ICQ   Вверх
JaguarSmith
Дата 4.9.2006, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 16.1.2005

Репутация: нет
Всего: 1



ОЙ! smile 

Спасибо БАЛЬШОЕ ivashkanet!!!  smile 

Зы. MSDN стала такой запутанной и непонятной что я туду без крайней необходимости не лазю... Скучаю по MSDN 2003  smile 
 
PM MAIL YIM   Вверх
ivashkanet
Дата 4.9.2006, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 5
Всего: 149



JaguarSmith, не за что  smile 
P.S. А про MSDN ты зря... Куда уж мы без нее (грусно вздыхающий смайлик)
PM MAIL WWW ICQ   Вверх
virt
Дата 25.5.2007, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.12.2006

Репутация: нет
Всего: нет



Проблема: при получении списка каталогов с фтп, как-будто игнорируются каталоги, названные русскими буквами.
Всё написал как в примере выше...
Как можно это испраить?
PM MAIL   Вверх
Exception
Дата 26.5.2007, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Забавно.
Вопрос навстречу: кому пришло в голову называть русскими буквами каталоги FTP?
PM   Вверх
Geny_K
Дата 31.5.2007, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 31.5.2007

Репутация: нет
Всего: нет



Воспользовался приведенным выше фрагментом кода, все замечательно пока на FTP надо конектиться анонимно, как только необходимо вводить имя пользователя и пароль, то не проходит авторизацию. на FTP сервере  ( хотя из фара командера и прочей фигни логиниться). Пробовал писать следующим образом. 

Код

using System;
using System.IO;
using System.Net;
using System.Text;

namespace Examples.System.Net
{
  public class WebRequestGetExample
  {
    public static void Main()
    {
      // Get the object used to communicate with the server.
      FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.ratniki.org.ru");



      request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;

      // This example assumes the FTP site uses anonymous logon.
      request.Credentials = new NetworkCredential("novlru_geny)", "geny");

      FtpWebResponse response = (FtpWebResponse)request.GetResponse();

      Stream responseStream = response.GetResponseStream();
      StreamReader reader = new StreamReader(responseStream);
      Console.WriteLine(reader.ReadToEnd());

      Console.WriteLine("Directory List Complete, status {0}", response.StatusDescription);
      Console.ReadLine();
      reader.Close();
      response.Close();
    }
  }
}

При выполнении выдает следующую ошибку:

The remote server returned an error: (530) Not logged in.
Chek the Respone property of the exeption to determine why the requsrst filed.

Ктонибудь сталкивался с подобной проблемой?

Это сообщение отредактировал(а) Exception - 31.5.2007, 18:15
PM MAIL   Вверх
Exception
Дата 31.5.2007, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Это вам в раздел по C#.
PM   Вверх
Geny_K
Дата 1.6.2007, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 31.5.2007

Репутация: нет
Всего: нет



Вот так все заработало.

using System;
using System.IO;
using System.Net;
using System.Text;

namespace Examples.System.Net
{
  public class WebRequestGetExample
  {
    public static void Main()
    {
      // Get the object used to communicate with the server.
      FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://novlru_geny:[email protected]");



      request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;

      // This example assumes the FTP site uses anonymous logon.
      

      FtpWebResponse response = (FtpWebResponse)request.GetResponse();

      Stream responseStream = response.GetResponseStream();
      StreamReader reader = new StreamReader(responseStream);
      Console.WriteLine(reader.ReadToEnd());

      Console.WriteLine("Directory List Complete, status {0}", response.StatusDescription);
      Console.ReadLine();
      reader.Close();
      response.Close();
    }
  }
}
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0718 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.