Nano Hash - криптовалюты, майнинг, программирование

С# - FTP с прокси-сервером добавляет строку в файл

Я пытаюсь добавить строку в текстовый файл на моем ftp-сервере. Как я читал в сети разработчиков Microsoft, это не поддерживается для HTTP-прокси.

Если указанный прокси-сервер является HTTP-прокси, поддерживаются только команды DownloadFile, ListDirectory и >ListDirectoryDetails.

теперь, поскольку моя компания использует ftp-прокси, я попытался использовать то, что прочитал в этой теме:

Загрузка файла FTP с помощью HTTP-прокси

большинство FTP-прокси выполняют свои функции при подключении, поэтому, если у вас НЕТ прокси-сервера, вы делаете следующее:

сервер: myftpserver.com пользователь: я пароль: pwd

используя FTP-прокси, вы делаете:

сервер: ftpproxy.mydomain.com пользователь: [email protected] пароль: pwd

Проблема в том, что... я не знал, где я могу выбрать путь на моем сервере... так как я ввел его как "имя пользователя"

Я много перепробовал, но у меня не получилось. Мой вопрос: кто-нибудь когда-нибудь успешно добавлял строку в текстовый файл, используя FTP с FTP-прокси? Может ли кто-нибудь предложить мне хорошую стороннюю библиотеку для решения этой проблемы? я сталкивался с Xceed FTP и Rebex.. но они оба коммерческие..

ваше здоровье! Фил

25.02.2014

Ответы:


1

Если вы используете HTTP-прокси для FTP, то это либо:

1) FTP через HTTP — на самом деле это прокси-сервер HTTP, который может обрабатывать ftp:// (см. ответ Штеффена Ульриха). В этом случае вы по существу используете протокол HTTP (а не FTP) на клиенте (прокси действует как уровень перевода). Из-за этого функционал несколько ограничен. Поддерживаются только базовые операции FTP, и, похоже, это несколько зависит от прокси-сервера.

2) HTTP CONNECT — большинство HTTP-прокси поддерживают метод "CONNECT". Это можно использовать для установки туннеля через прокси к указанному серверу/порту. В основном он используется для туннелирования трафика HTTPS, а некоторые прокси-серверы разрешают подключения только к определенным портам (например, 443, используемый HTTPS). Однако, если прокси-сервер разрешает туннелирование на любой порт, HTTP CONNECT может (неправильно) использоваться для туннелирования протокола FTP (при условии, что для всех передач используется пассивный режим). В этом случае возможны все операции FTP, включая добавление к файлу или возобновление передачи.

Большинство коммерческих компонентов FTP поддерживают прокси-серверы HTTP CONNECT (Rebex поддерживает). Для FTP через HTTP я бы предпочел вместо этого поискать хороший HTTP-компонент.

25.02.2014
  • хорошо, как я могу узнать, какой из них моя компания получила? я знаю, что у нас есть два разных порта на прокси, один для ftp и один для http .. это помогает? 26.02.2014
  • Проще всего спросить у администратора сети. Если это нежизнеспособно, вы можете попробовать написать код, который подключается с использованием различных типов прокси, и проверить, какой из них работает. Пример кода можно найти здесь: rebex.net/ftp-ssl.net /features/proxy.aspx (полный пакет приобретать не нужно, для тестирования достаточно пробной версии) 27.02.2014
  • Если у вас есть отдельный порт для FTP на прокси, то вполне возможно, что это не FTP через HTTP и не HTTP CONNECT, а настоящий FTP-прокси (см. ответ Штеффена Ульриха) . В этом случае также должно быть возможно добавление к файлу или возобновление передачи. 13.03.2014

  • 2

    Это зависит от того, есть ли у вас настоящий FTP-прокси (например, который говорит по протоколу FTP) или у вас есть HTTP-прокси, который также может работать с URL-адресами ftp://. В последнем случае нет, вероятно, никакого способа добавить данные в существующий файл.

    Если вместо этого у вас есть настоящий FTP-прокси, вы сможете просто использовать свою обычную библиотеку FTP и адаптировать только процесс входа в систему. В основном что-то вроде входа в систему как «user@host» на FTP-прокси используется для переадресации FTP-соединения на хост, но детали зависят от прокси. И как только у вас есть проксированное FTP-соединение, вы можете выполнить команду APPE, чтобы добавить данные в существующий файл, например. как с FTP-соединением без прокси.

    25.02.2014
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..