Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

HTTP Authorization/Authentication

Posted on 1998-09-29
11
207 Views
Last Modified: 2010-04-06
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.
0
Comment
Question by:friberg
  • 4
  • 3
  • 2
  • +2
11 Comments
 
LVL 4

Expert Comment

by:BoRiS
ID: 1341099
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
0
 
LVL 1

Expert Comment

by:duke_n
ID: 1341100
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:
'http://duke_n:mypassword@experts-exchange.com/topics/comp/lang/delphi/'

Regards,
Nukem

btw: When will the new 'Duke Nukem Forever' come to the stores?
0
 

Author Comment

by:friberg
ID: 1341101
Thanks, the ICS component solved a part of my problem. For example, when you try to get the page
http://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!
0
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 
LVL 4

Expert Comment

by:BoRiS
ID: 1341102
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
0
 

Author Comment

by:friberg
ID: 1341103
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!
0
 
LVL 4

Expert Comment

by:BoRiS
ID: 1341104
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
0
 
LVL 4

Expert Comment

by:itamar
ID: 1341105
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
0
 

Expert Comment

by:manolis_afentakis
ID: 1341106

there is a native vcl component (internet mail suite)

but it's commercial...

seehttp://www.argosoft.com


0
 

Author Comment

by:friberg
ID: 1341107
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.
0
 
LVL 4

Accepted Solution

by:
itamar earned 200 total points
ID: 1341108
Hi friberg,

the name of the example is HTTPASP.

In the OnClick event handler of Button1 you must change this part of code:
    ...
    try
        Buf     := 'suplno=' + Trim(SupplierIDEdit.Text) +
                   '&PIN=' + Trim(PinEdit.Text) +
                   '&LOGIN=Login';
        DataOut.Write(Buf[1], Length(Buf));
    ...

Change the PIN and LOGIN for the <INPUT TYPE...> of the form you want to submit.
But it seems to me that, in the URL you mentioned there is some kind of trick to avoid programatic acces. There are two hidden fields, log_sess and dv_data that gave me the clue. It doesn´t make my answer wrong, but i think it will be a pain for you ;(

IHTH,
Itamar


0
 

Author Comment

by:friberg
ID: 1341109
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!

0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
find a node in VST 2 70
URL for downloading Google Chrome for Win XP 2 180
Reconfigure Delphi Install? 2 59
drawing animated level bar based on numbers 3 103
The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used.

789 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question