Delphi, интернет, FTP клиенты и т.д.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Vitaliy-55, 15 Apr 2009.

  1. Vitaliy-55

    Vitaliy-55 New Member

    Joined:
    20 Mar 2009
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Доброго времени суток!!!
    У меня такая проблема, необходимо через Wininet настроить подключение от клиента к серверу (используя аутентификацию) и дальнейшую загрузку файлов с сервера.
    Делаю так:

    function GetInetFile
    (const fileURL, FileName: String): boolean;
    const BufferSize = 1024;
    var
    hSession, hURL: HInternet;
    Buffer: array[1..BufferSize] of Byte;
    BufferLen,mnb: DWORD;
    f: File;
    sAppName: string;
    begin
    Result:=False;
    sAppName := ExtractFileName(Application.ExeName);
    hSession := InternetOpen(PChar(sAppName),INTERNET_OPEN_TYPE_PROXY,PIInfo^.lpszProxy,nil,0);
    Dispose(PIInfo);
    try
    hURL := InternetOpenURL(hSession, PChar(fileURL), nil,0,0,0);
    try
    AssignFile(f, FileName);
    Rewrite(f,1);
    repeat
    InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
    BlockWrite(f, Buffer, BufferLen)
    until BufferLen = 0;
    CloseFile(f);
    Result:=True;
    finally
    InternetCloseHandle(hURL)
    end
    finally
    InternetCloseHandle(hSession)
    end
    end;

    procedure TForm1.ConnectButtonClick(Sender: TObject);
    var
    i,k:integer;
    old_date,ftp_name,ftp_name1,save_name:string;
    Flags, TargetFrameName, PostData, Headers: OleVariant;
    FileOnNet, LocalFileName: string;
    begin
    FileOnNet:='http://trulala.ru/lala/123.txt';
    LocalFileName:='123.txt';
    if GetInetFile(FileOnNet,LocalFileName)=True then
    ShowMessage('Файл загружен')
    else
    ShowMessage('Ошибка загрузки файла')
    Все работает нормально при подключенном Траффик испекторе (программу пишу на работе), когда его выключаешь, программа записывает в файл строки с содержимым HTML-кода, вроде того, что требуется аутентификация на сервере.

    Помогите пожалуйста.
    Заранее благодарен.
     
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    ТАк вроде без включенного клиенсткого приложения сервер трафинспектора не пропускает траф
     
  3. KaZ@NoVa

    KaZ@NoVa Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16
    Vitaliy-55,допиши парсер ещё и тогда супер будет) ;) , а что из себя представляет Траффик инспектор? может в нём загвоздка?
     
    #3 KaZ@NoVa, 15 Apr 2009
    Last edited: 15 Apr 2009
  4. Vitaliy-55

    Vitaliy-55 New Member

    Joined:
    20 Mar 2009
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    В нем и есть загвоздка, он открывает доступ на прокси сервер нашей компании для доступа в интернет.
     
  5. Vitaliy-55

    Vitaliy-55 New Member

    Joined:
    20 Mar 2009
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    А если он выключен, то ни как не получится его обойти. Я уже с этой проблемой себе весь мозг сломал (((