Thanks Tom,
Pretty cool ! Now I can see what is sent by the browser. On the same
subject, in order to know what the browser is getting back, I am using the
following dialog at the rebol console :
>>pt: open tcp://192.168.1.51:80
>>insert pt "GET /cgi-bin/cgi-txt.r HTTP/1.0^/^/"
>>print copy pt
HTTP/1.1 200 OK
Date: Wed, 08 May 2002 13:36:30 GMT
Server: Apache/1.3.24 (Win32) ...
>> close pt
I am wondering if it is possible to have both what is send by the browser
and what the browser is getting back without interfering with the browser. A
sort of tunneling that lets data go thru in and out.
Patrick
----- Original Message -----
From: "Tom Conlin" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, May 09, 2002 9:27 AM
Subject: [REBOL] Re: HTTP spy ?
>
> For debugging cgi and building bots I have
> an "echo-server" running. it just sits on a port and echos
> back what it is sent (or at least the first 10k or less of what it is
> sent)
>
> to use it, I go the the page the cgi form is on
> I change the browsers proxy to point at the (running) echo-server
> and hit the forms submit button.
>
> echo-server returns a simple html page with _exactly_ what the browser
> sent. Its not fancy but it has been very useful to me.
> to try the one I'm running you can set your browsers proxy to
>
> bionix.cs.uoregon.edu port 3776
>
> feel free to use it occasionaly for unimportant data
> (if it starts getting hammered I'll have to pull it)
>
> if you are interested in running it yourself or need to run it alot
> please modify the following to suit your needs (watch the linewraps)
>
> % cat bin/echoserv
> #! /private/bin/rebol -sqw
> REBOL [
> Title: "ECHO SERVER"
> Date: [13-Jan-2002 19-July-1999]
> Author: ["Tom Conlin" "Sterling Newton"]
> Purpose: {to echo back what your browser sends.
> which may be slightly different than what the
> webserver says it hears.
> helps to debug forms, cgis and to build bots
> I am also capturing a copy in a log but you may not care
> or have a place to store it so just comment those lines out
> }
> usage: { typicaly you go the the page of interest in your browser
> then point the browsers http proxy
> at the machine and port this script is running on
> then push the pages submit button and see what the browser
> intended to say to the server.
> (to go back to surfing, stop pointing your browsers proxy here)
> }
> note: {based on a script called bogus-proxy.r Sterling helped me with}
> ]
> header: {HTTP/1.0 200 OK
> Content-Type: text/html
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
> <html><pre>
> }
> tailer: {</pre></html>}
>
> ; this func is only used to timestamp the log file with net style dates
> http-date: func[/local weekdays months gmt][
> gmt: now - now/zone
> rejoin [pick system/locale/days gmt/weekday ", " gmt/day " "
> pick system/locale/months gmt/month " " gmt/year " " gmt/time
> " GMT^/"]
> ]
>
> serv: open/lines tcp://:3776 ;EC0 in hex but use what you want
> size: 10240 ; ... or whatever you want
>
> forever [
> stream: make string! size
> wait conn: pick serv 1
> read-io conn stream size
> insert/only conn rejoin[header stream tailer]
> close conn
> ; comment out the next lines if you do not need a log
> write/append %/tmp/echoserv.log rejoin[
> newline "# " conn/host tab http-date stream newline
> ]
> ]
> close serv ; not that we are apt to get here
> --------------------------------------------------------------------------
----
>
> On Wed, 8 May 2002, pat665 wrote:
>
> > Hi rebollers,
> >
> > Exploring how CGI works I am in need of an HTTP spy. I mean a rebol
program
> > that could listen to what a web server is getting but without
interfering
> > (always the first directive "do not interfere").
> >
> > For now I am using this code that works but is blocking the web server.
> >
> > 8< - - - - - - - - - - - - - - - - - - - - - - - - - -
> >
> > Rebol []
> >
> > pt: open tcp://:80
> > forever [
> > wait pt
> > print "Data coming ..."
> > connexion: first pt
> > buffer: copy ""
> > until [
> > data: copy ""
> > read-io connexion data 255
> > append buffer data
> > found? find data "^/"
> > ] ; until
> > print buffer
> > close connexion
> > ] ; forever
> > close pt
> >
> > 8< - - - - - - - - - - - - - - - - - - - - - - - - - -
> >
> > Does anyone have something for me ?
> >
> > Patrick
> >
> >
> >
> >
____________________________________________________________________________
__
> > ifrance.com, l'email gratuit le plus complet de l'Internet !
> > vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
> > http://www.ifrance.com/_reloc/email.emailif
> >
> >
> > --
> > To unsubscribe from this list, please send an email to
> > [EMAIL PROTECTED] with "unsubscribe" in the
> > subject, without the quotes.
> >
>
> --
> To unsubscribe from this list, please send an email to
> [EMAIL PROTECTED] with "unsubscribe" in the
> subject, without the quotes.
>
______________________________________________________________________________
ifrance.com, l'email gratuit le plus complet de l'Internet !
vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP...
http://www.ifrance.com/_reloc/email.emailif
--
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the
subject, without the quotes.