Link to home
Start Free TrialLog in
Avatar of friberg
friberg

asked on

HTTP Authorization/Authentication

I have Delphi 3.0 and I need to download html documents from a secure server with my application.

Is this possible with Delphi 4.0?
Is there a freeware component for Delphi 3.0 that can do it?
Is it possible to solve it by using the HTTP Client ActiveX Control instead of the HTML ActiveX Control in Delphi 3.0?

Any help is greatly appreciated.
Avatar of BoRiS
BoRiS

friberg

yes this can be done with delphi 4.0 as well...

a freeware component for this kind of stuff can be found at ...

http://www.rtfm.be/fpiette/indexuk.htm

I think both activex controls can handle this but the HTTP is the way to go...

All I can really tell you is that the request is in the document headers for the authorization....

I think the best to do is search on www.yahoo.com for http headers and follow the nic links...

I will see what I can get hold of code wise and let you know...

Later
BoRiS
Pardon me if I'm wrong, but
you just call Executefile on internet adress to open it or download it.
if it's secure there is a certain format of URL adress, e.g.:
to enter experts-exchange I write:
'https://www.experts-exchange.comduke_n:mypassword@/topics/comp/lang/delphi/'

Regards,
Nukem

btw: When will the new 'Duke Nukem Forever' come to the stores?
Avatar of friberg

ASKER

Thanks, the ICS component solved a part of my problem. For example, when you try to get the page
https://www.experts-exchange.com/Q.10084603
you are presented with a Netscape or IE 'enter user name and password'-dialog. The ICS component can enter this programatically, which is one feature that I need.

However, when the user has to enter user name and password in an edit box directly on the web page, for example at:
http://rtq.thomsoninvest.net/index.sht  or at:
https://wwws.ameritrade.com/cgi-bin/login.cgi
the problem remains. I couldn't find a way to do this with ICS.

Does anyone have an idea how to solve this?

Thanks in advance!
friberg

as far as I know you can do this with the html component the samre way as the http component handles it

eg

Document.Request('Authorization');
  Result := Document.Authorization;

this is just an example you will need to check the options on the html component for
document.

Later
BoRiS
Avatar of friberg

ASKER

Sorry, but I don't understand what you mean.
For example, let's say I want to log in on:
https://wwws.ameritrade.com/cgi-bin/login.cgi
with Account Number: 12345 and Pin: 678, how would I do?

Thanks!
friberg

Sorry second answer was surposed to be a comment....

if you know the username and password then pass the href like so...

http://12345:678@wwws.ameritrade.com/cgi-bin/login.cgi

this should send the username and password at the same time as the url to the http...

Later
BoRiS
Hi friberg,

in the URL you mentioned, 12345 and 678 are not Http authorization. In fact they are simple parameters to a CGI. In HTML they are <INPUT TYPE...>

If you have downloaded ICS tools, you can take a look at one of the examples of Http.
I don´t remember the name right now, but it´s not difficult to find.

IHTH,
Itamar

there is a native vcl component (internet mail suite)

but it's commercial...

seehttp://www.argosoft.com


Avatar of friberg

ASKER

manolis_afentakis,

Yes, and I know about another commercial component as well, but I'm looking for a freeware component (and have actually found one)

Thanks.
ASKER CERTIFIED SOLUTION
Avatar of itamar
itamar

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of friberg

ASKER

You are right, they seem to have tried to avoid programmatic access. I will have to work on it - but I think I'm on the right track at least. Thanks!