Re: SOCKET and POST forms [message #31172] |
Fri, 21 June 2002 08:34  |
Ken Mankoff
Messages: 158 Registered: February 2000
|
Senior Member |
|
|
On Fri, 21 Jun 2002, Mike Fitzgibbon wrote:
> Ken Mankoff <mankoff@I.HATE.SPAM.cs.colorado.edu> wrote:
>>
> ...
>> FREE_LUN, lun
>> ;;; NOTE: Rather than using a FREE_LUN and re-opening the stream with
>> ;;; SOCKET, the code should just send an EOF or EOT after the POST
>> ;;; data has been sent. Not sure how to implement this right
>> ;;; now... EOT is 04 (in Hex, and Dec), so maybe just a
>> ;;; "PRINTF, lun, O4"? Nope... that does not work.
>>
>
> Try "PRINTF, lun, String(O4b)"
> and use IDL's conversion of bytes in strings.
>
Well the IDL code does print EOF (or EOT). Thank you. But it does not
do what I thought it might do in the comment.
But that entire comment was just conjecture on my part. I have no idea
exactly what the HTTP protocol is to deal with POST requests, but it
seemed like closing the stream and re-opening it with a GET request is
not the right way to do it... I got it working by trial-and-error
coding, and assumed that an EOF would be a better solution
But doing the above PRINT, STRING( 04B ) command does not work, so
maybe I got it right the first time.
The main problem is that there is no documentation on this. Docs are
either written for the HTML form writer, in which case the POST vs GET
method does not matter, so there is just a 1 sentence explanation
about the 2 methods, or, docs are written for the CGI script writer,
in which case there is are a few lines difference in order to parse
the query (and maybe a few different ENV vars), but thats it. But what
my code did was to do the actual POSTing (which is normally abstracted
from FORM programmer and done by the browser), and there is no
documentation specifying what bytes/requests need te be sent in what
order to do a POST.
I think maybe the HTML language specifications might cover this, but I
don't feel like digging that deep since it appears to work...
-k.
|
|
|