Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Доступ FTP через прокси сервер (http://forum.oszone.net/showthread.php?t=207450)

83MDI38 24-05-2011 09:23 1681533

Доступ FTP через прокси сервер
 
Всем привет!
Пишу скрипт для обновления списка отозванных сертификатов(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
и запустить подключение через прокси то не подключается!
Есть какие предложения?

83MDI38 25-05-2011 05:08 1682114

Что, ни кто не сталкивался с такой задачей и ни кто не знает как решить данную проблему?

83MDI38 25-05-2011 09:38 1682178

Все вопрос закрыт обошелся без использования функций 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



Время: 14:40.

Время: 14:40.
© OSzone.net 2001-