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.

Reply via email to