Что нового

[Сеть, интернет] Доступ FTP через прокси сервер

1MDI1

Новичок
Сообщения
4
Репутация
0
Всем привет!
Пишу скрипт для обновления списка отозванных сертификатов(CRL) который должен проверять обновился ли CRL и если обновился то устанавливать его снова но есть одна проблема не могу подключится к FTP через прокси сервер.
Код:
#include <FTPEx.au3>
#include <Array.au3>
#include <Crypt.au3>
$server = '10.0.1.111'
$username = ''
$pass = ''
$Dir = '/reg/intcrlinfo/'
$Open = _FTP_Open('ZIC')
if @error then
    MsgBox(64,"Error","Ошибка подключения")
    Exit
EndIf
$Conn = _FTP_Connect($Open, $server, $username, $pass,1)
if @error then
    MsgBox(64,"Ошибка!","Не могу подключиться к FTP " & @error)
	_FTP_Close($Open)
    Exit
EndIf
;проверка актуальности CRL
if FileExists(@ScriptDir & '\4be.crl') Then
	_FTP_FileGet($Conn,$Dir & '4be.crl', @ScriptDir & '\4be1.crl' )
	_Crypt_Startup()
		$hashLocal=_Crypt_HashFile(@ScriptDir & '\4be.crl',$CALG_MD5)
		$hashRemote=_Crypt_HashFile(@ScriptDir & '\4be1.crl',$CALG_MD5)
	_Crypt_Shutdown()
		if $hashLocal=$hashRemote Then
			_FTP_Close($Open)
			Exit
		Else
			instCRL()
		EndIf
Else
	instCRL()
EndIf
;получение и установка CRL
Func instCRL()
	_FTP_FileGet($Conn,$Dir & '4be.crl', @ScriptDir & '\4be.crl' )
	If @error Then
		_FTP_Close($Open)
		Exit
	EndIf
	_FTP_Close($Open)
	$comm = @SystemDir & '\rundll32.exe cryptext.dll,CryptExtAddCRL ' & @ScriptDir &'\4be.crl'
	Run(@ComSpec & " /c " & $comm, "", @SW_HIDE)
	WinWaitActive("Мастер импорта сертификатов")
	Send("{ENTER}")
	WinWaitActive("Мастер импорта сертификатов","Хранилище сертификатов")
	Send("{ENTER}")
	WinWaitActive("Мастер импорта сертификатов","Завершение мастера импорта сертификатов")
	Send("{ENTER}")
EndFunc

Этот код работает в обход прокси. А если прописать прокси в
Код:
_FTP_Open
и запустить подключение через прокси то не подключается!
Есть какие предложения?
 
Автор
1MDI1

1MDI1

Новичок
Сообщения
4
Репутация
0
Товарищи скриптеры, разве ни кто не сталкивался с такой задачей и ни кто не знает как решить данную проблему?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
1MDI1,
А так не работает?
Код:
;...
$hOpen = _FTP_Open('ZIC', $INTERNET_OPEN_TYPE_PROXY, '123.123.123.123:8000')
;или
$hOpen = _FTP_Open('ZIC', $INTERNET_OPEN_TYPE_PRECONFIG)
;...
 
Автор
1MDI1

1MDI1

Новичок
Сообщения
4
Репутация
0
К сожалению ни тот ни другой вариант не работает :( я их уже опробовал
 
Автор
1MDI1

1MDI1

Новичок
Сообщения
4
Репутация
0
Все вопрос закрыт обошелся без использования функций FTP а заменил получение фала следующей функцией:
Код:
Func getCRL($file)
	Local $hDownload = InetGet("ftp://ucecp.e-zab.ru/reg/intcrlinfo/4be.crl", @ScriptDir & $file, 1, 1)
Do
    Sleep(250)
Until InetGetInfo($hDownload, 2)    ; Check if the download is complete.
InetClose($hDownload)   ; Close the handle to release resourcs.
EndFunc
 
Верх