Newsgroups : Borland : borland.public.delphi.internet.winsock : 2007 Jan : Re: HTTP.Get() with Authorization Trouble (2nd Post)

www.cryer.info
Managed Newsgroup Archive

Re: HTTP.Get() with Authorization Trouble (2nd Post)

Subject:Re: HTTP.Get() with Authorization Trouble (2nd Post)
Posted by:"Andy" (adwe..@hotmail.com)
Date:Fri, 5 Jan 2007 16:33:32

Remy could you or someone else who is a member of TeamB look at this for me.

-Andy


"Slagert" <slagert@slagert.com> wrote in message
news:459c7e22$1@newsgroups.borland.com...
> I'm including a the contents of the Main form's .pas & .dfm files of a
> small
> program that generates an unexpected http 401 error code. The error occurs
> when the URL/User/Pswd are changed after the 1st. run. The errors only
> occur
> when using authorization.
>
> I'm using Indy 10.1.5 but the same problem happend for me with Indy 9. I'm
> compiling with D7. Can you see why I'm getting this error? Is there
> something in the IdHTTP I'm
> not resetting between calls to Get()?
>
> -Andy
>
> ====================================
> Main.pas
> unit Main;
>
> interface
>
> uses
>  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
> Forms,
>  Dialogs, StdCtrls, ExtCtrls, IdBaseComponent, IdComponent,
>  IdTCPConnection, IdTCPClient, IdHTTP;
>
> type
>  TFormMain = class(TForm)
>    Panel1: TPanel;
>    Button1: TButton;
>    Label1: TLabel;
>    Label2: TLabel;
>    Label3: TLabel;
>    Edit1: TEdit;
>    Edit2: TEdit;
>    Edit3: TEdit;
>    Memo1: TMemo;
>    IdHTTP1: TIdHTTP;
>    procedure Button1Click(Sender: TObject);
>  private
>    { Private declarations }
>    InStream:   TMemoryStream;
>  public
>    { Public declarations }
>  end;
>
> var
>  FormMain: TFormMain;
>
> implementation
>
> {$R *.dfm}
>
> Uses
>  IdException;
>
> procedure TFormMain.Button1Click(Sender: TObject);
> begin
>  Screen.Cursor := crHourglass;
>  Memo1.Clear;
>  IdHTTP1.Request.Clear;
>  IdHTTP1.Request.BasicAuthentication := true;
>  IdHTTP1.Request.Username := Edit2.Text;
>  IdHTTP1.Request.Password := Edit3.Text;
>  try
>    InStream := TMemoryStream.Create;
>      try
>        IdHTTP1.Get(Edit1.Text, InStream);
>      except
>        on E: EIdException do begin
>        //Handle Indy exceptions here
>        end;
>      end;
>    InStream.Position := 0;
>    Memo1.Lines.LoadFromStream(InStream);
>    InStream.Position := 0;
>  finally
>    InStream.Free;
>  end;
>  Screen.Cursor := crDefault;
> end;
>
> end.
> ===================================================
> DFM File:
> object FormMain: TFormMain
>  Left = 263
>  Top = 187
>  Width = 800
>  Height = 600
>  Caption = 'HTTP Get() w/ Authorization Demo'
>  Color = clBtnFace
>  Font.Charset = DEFAULT_CHARSET
>  Font.Color = clWindowText
>  Font.Height = -11
>  Font.Name = 'MS Sans Serif'
>  Font.Style = []
>  OldCreateOrder = False
>  Position = poScreenCenter
>  PixelsPerInch = 96
>  TextHeight = 13
>  object Panel1: TPanel
>    Left = 0
>    Top = 0
>    Width = 792
>    Height = 73
>    Align = alTop
>    TabOrder = 0
>    DesignSize = (
>      792
>      73)
>    object Label1: TLabel
>      Left = 112
>      Top = 16
>      Width = 25
>      Height = 13
>      Caption = 'URL:'
>    end
>    object Label2: TLabel
>      Left = 112
>      Top = 44
>      Width = 25
>      Height = 13
>      Caption = 'User:'
>    end
>    object Label3: TLabel
>      Left = 280
>      Top = 44
>      Width = 29
>      Height = 13
>      Caption = 'Pswd:'
>    end
>    object Button1: TButton
>      Left = 16
>      Top = 16
>      Width = 75
>      Height = 25
>      Caption = 'Fetch HTML'
>      TabOrder = 0
>      OnClick = Button1Click
>    end
>    object Edit1: TEdit
>      Left = 144
>      Top = 16
>      Width = 641
>      Height = 21
>      Anchors = [akLeft, akTop, akRight]
>      TabOrder = 1
>    end
>    object Edit2: TEdit
>      Left = 144
>      Top = 40
>      Width = 121
>      Height = 21
>      TabOrder = 2
>    end
>    object Edit3: TEdit
>      Left = 312
>      Top = 40
>      Width = 121
>      Height = 21
>      TabOrder = 3
>    end
>  end
>  object Memo1: TMemo
>    Left = 0
>    Top = 73
>    Width = 792
>    Height = 493
>    Align = alClient
>    ScrollBars = ssVertical
>    TabOrder = 1
>  end
>  object IdHTTP1: TIdHTTP
>    AllowCookies = True
>    ProxyParams.BasicAuthentication = False
>    ProxyParams.ProxyPort = 0
>    Request.ContentLength = -1
>    Request.Accept = 'text/html, */*'
>    Request.BasicAuthentication = True
>    Request.UserAgent = 'Mozilla/3.0 (compatible; Indy Library)'
>    HTTPOptions = [hoForceEncodeParams]
>    Left = 8
>    Top = 80
>  end
> end

Replies:

In response to:

www.cryer.info
Managed Newsgroup Archive