🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.nativeapi
Article #3185

Re: file transfur via http and wininet

#3185
From: Mike Collins
Date: Sun, 23 Jul 2006 16:18
89 lines
4631 bytes
Again Bob, thanks for the reply.  It's sunday here so i posted before 
settling back for BBQ.  However, on further reading (couldn't resist) i 
ended up at the same point as you suggested i.e. HttpOpenRequest with the 
GET command.  Not going to test it till tomorrow but i think that will do 
the job.  Also, InternetOpenUrl() looks promising.  It was basically a lack 
in my understanding on how the wininet apis worked and how http operates. 
Now i look at it, it seems very foolish to think that the ftp functions 
would work with an http connection :)

As for Indy, I'm trying to stay clear of any extra VCL's - it's a security 
product that I'm finalising and I'm getting super paranoid - i want to try 
and stay as close to the api's as possible - previous posts will give you a 
better idea.  I've had issues with indy before and the group seems a little 
less active than the nativeapi so i thought i'd just stick to the wininet. 
It's a GINA product and i'm getting some wired result with certain things 
that should normally work but don't.

The server is our own in telehouse - we use it for web hosting as well so 
the administrator is a bit anal.  We've got an sftp service running but he 
didn't want to go down the route of setting an plain ftp server running - 
don't ask me why - these guys are always like that.

Will keep



"Bob Gonder" <notbg@notmindspring.invalid> wrote in message 
news:he07c2hikkr27pbml0ioamg8s0lojmfo7e@4ax.com...
> Mike Collins wrote:
>
>>Trying to implement a live update facility and have major problems at 
>>every
>>turn.
>>
>>Secondly i need to file transfer via http rather than ftp.  The update
>>server is http not and ftp server.  If i open an Internet connection, via
>>InternetConnect with the flag INTERNET_SERVICE_HTTP, is it possible to use
>>the ftp related wininet functions i.e. FtpSetCurrentDirectory etc or do i
>>have to use the http related ones?  If so, any pointers on this.
>
> Gambit is going to suggest using Indy 9 instead of rolling your own
> HTTP handler. See recent discussion in b.p.c.internet.socket group
> "IdFTP problem".  There is an example in that thread of using relative
> pathing with Indy's HTTP.
>
> I would suppose
> hR = HttpOpenRequest( hConnect, "GET",
> "relative/path/update.exe",
> NULL,NULL, types,flags,0)
> Followed by a loop of
> do{
> InternetReadFile( hR. Buffer, sizeof(Buffer),
> &dwNumberOfBytesRead );
> WriteFile( hOut, Buffer, dwNumberOfBytesRead,
> &dwNumberOfBytesWritten, NULL );
> }while( dwNumberOfBytesRead );
>
>
> As a suggestion, you might also look into InternetOpenUrl() which
> claims to be directly useable by  InternetReadFile and
> InternetFindNextFile() without needing the InternetConnect().
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wininet/wininet/internetopenurl.asp
>
>
> The http server is on your ISP?
> You can usually FTP to the server. That's how the stuff gets there in
> the first place. Just use the ftp address you use to upload the web
> pages/files.
> Such as in your case, likely
> static char ftp[]= "ftp.softwareassociates.com";
>
> But, you would need to supply the name and password for access.
> The name and password gets you to your default directory.
> From there, I just download the relative path:
>
> FtpGetFile( hFTPSession, "changes.html", "changes.html", ...)
>
> char *from = "updates/update.exe";
> char *to = "update.exe.dnld";
>
> ff = FtpFindFirstFile( hFTPSession, from, &FindFrom,
> INTERNET_FLAG_RELOAD, NULL );
> Then check the file date, and if newer:
>
> FtpGetFile( hFTPSession, from, to, ...)
>
>
>
> 
Technical Details
Message-ID: <44c3a160$1@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news4.google.com!news.glorb.com!solnet.ch!solnet.ch!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail
References: <44c3730e$1@newsgroups.borland.com> <he07c2hikkr27pbml0ioamg8s0lojmfo7e@4ax.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: 10cc67,2bdbfc0e5c446078
X-Google-Attributes: gid10cc67,public
X-Google-Language: ENGLISH,ASCII-7-bit
From: "Mike Collins" <its@TheBottomOfThePost.com>
Newsgroups: borland.public.cppbuilder.nativeapi
References: <44c3730e$1@newsgroups.borland.com> <he07c2hikkr27pbml0ioamg8s0lojmfo7e@4ax.com>
Subject: Re: file transfur via http and wininet
Date: Sun, 23 Jul 2006 17:18:36 +0100
Lines: 91
Organization: SDA Ltd
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.3790.2663
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.2663
X-RFC2646: Format=Flowed; Original
NNTP-Posting-Host: 81.2.92.14
Message-ID: <44c3a160$1@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1153671520 81.2.92.14 (23 Jul 2006 09:18:40 -0700)
Path: arc1-ca.pugleaf.net!g2news2.google.com!news4.google.com!news.glorb.com!solnet.ch!solnet.ch!newsfeed01.sul.t-online.de!t-online.de!newsgroups.borland.com!not-for-mail