Что нового

Вопрос по работе FTP.au3 Yashied'а через прокси

Latoid

Знающий
Сообщения
95
Репутация
11
Написал программу, частью которой является работа с ftp - сервером (за это отвечает библиотека Yashied'а). И она отлично справляется при прямом подключении к Интернету.
Встала задача перенести её на работу, где выход в Интернет реализован через прокси сервер. Эксперименты с FtpSetProxy не помогли. Обратился к сисадмину - он предложил (и сделал) такой вариант: поднял на сервере (FreeBsd) туннель IP прокси:Порт -> IP ftp сервера в Интернете:21 Т.е. Фряха сама всё разруливает: чтобы обратиться к ftp - серверу, мне достаточно обратится к прокси на определенный порт, а он уже всё это дело перенаправляет на ftp сервер www.ftpwt.com. Трабла вот в чем: не все функции из библиотеки работают в таком варианте.
Пример:
Код:
#Include <FTP.au3>  ; Автор: Yashied; http://www.autoitscript.com/forum/index.php?showtopic=94212

const $Login = 'вырезано'
const $Password = 'вырезано'


;~ const $Host = 'www.ftpwt.com'
;~ const $Port = 21

const $Host = 'вырезано' ; IP прокси
const $Port = "вырезано" ; порт прокси

local $hFtp, $hSession, $hFind, $tFind
_FTP_Startup()
$hFtp = _FTP_Open('MyFtp')
$hSession = _FTP_Connect($hFtp, $Host, $Login, $Password, $Port)

_Ftp_CreateDir ($hSession, "testtest") ; эта команда отрабатывает нормально, папку создает

; Этот код файлы не ищет :(
$tFind = DllStructCreate($tagWIN32_FIND_DATA)
$hFind = _FTP_FileFindFirst($hSession, '', $tFind)
while not @error
	ConsoleWrite(DllStructGetData($tFind, 'FileName') & @CR)
	_FTP_FileFindNext($hFind, $tFind)
wend
_FTP_FileFindClose($hFind)
; Конец "Этот код файлы не ищет :("

_FTP_Disconnect($hSession)
_FTP_Close($hFtp)

_FTP_Shutdown()

Т.е. не работает поиск файлов. А мне без этого никуда. Есть ли у уважаемого сообщества какие-нибудь идеи? Спасибо.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Попробуй так:

Код:
_FTP_Open('MyFtp', $INTERNET_OPEN_TYPE_PROXY, 0, $ProxyHost & ':' & $ProxyPort)
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Проверь, например с помощью FileZilla, будет ли выдоваться список файлов с твоими настройками для прокси.
 
Автор
L

Latoid

Знающий
Сообщения
95
Репутация
11
Yashied сказал(а):
Проверь, например с помощью FileZilla, будет ли выдоваться список файлов с твоими настройками для прокси.
Проверил, FileZilla список файлов выдает нормально при вводе в качестве хоста - ip прокси, порт - назначенный сисадмином

PS На машине, с которой запускается скрипт, нет админских прав. Это не может быть причиной?
PS2 А этот код (см. выше) создает активное или пассивное соединение?
 
Верх