Einzelnen Beitrag anzeigen

Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

IdHTTP + Proxy + Anmeldung am Proxy mit eigenem Fenster

  Alt 24. Jun 2007, 20:00
Hallo zusammen,

wenn ich den Usernamen und das Passwort direkt im Code einfüge funktioniert alles wunderbar. Nur wenn es über das eigene Fenster geht, bekomme ich immer wieder den Fehler 407, das eine Proxy Authentifizierung fehlt oder gebraucht wird. Hier mal mein Code :
Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdHTTP, IdAuthentication;

type
  TForm2 = class(TForm)
    IdHTTP1: TIdHTTP;
    Label1: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure IdHTTP1ProxyAuthorization(Sender: TObject;
      Authentication: TIdAuthentication; var Handled: Boolean);
  private
    procedure ConfigIdHTTP;
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

uses
  Unit3;

procedure TForm2.ConfigIdHTTP;
begin
  IdHTTP1.ProxyParams.ProxyServer := 'proxy.domain.de';
  IdHTTP1.ProxyParams.ProxyPort := 8080;
  Label1.Caption := IdHTTP1.Get('http://ip.smartcoder.net/txt/');
end;

procedure TForm2.IdHTTP1ProxyAuthorization(Sender: TObject;
  Authentication: TIdAuthentication; var Handled: Boolean);
begin
  if Form3.ShowModal = mrOK then
  begin
    IdHTTP1.ProxyParams.BasicAuthentication := true;
    IdHTTP1.ProxyParams.ProxyUsername := Form3.LabeledEdit1.Text;
    IdHTTP1.ProxyParams.ProxyPassword := Form3.LabeledEdit2.Text;
  end;
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
  ConfigIdHTTP;
end;

end.
Packe ich alles in die Procedure Button1Click, funktioniert es. Ich möchte aber nur dann die Form 3 sehen, wenn der Proxy eine Authentifizierung braucht. Wie mache ich das ?
[delphi]
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat