Hi All, Thanks for your help. Solution follows. Thanks for the pointer to netcat.
Turns out I was missing the Content-Type. Hence: #lang racket (require net/url) (require net/uri-codec) (require net/head) (require web-server/http/request-structs) (require racket/string) (define my-url (string->url "http://localhost:49986/Foo/Bar")) (define (bytes-> str) (string->bytes/locale str)) (define (form-data str) (bytes-> str)) (define (post url data) (post-impure-port url (form-data data) '("Content-Type: application/x-www-form-urlencoded" "User-Agent: HackitWithRacket"))) (post my-url "foo=bar&fiz=buz") Which produced the following: C:\Users\Daniel\bxscripts>nc -l -p 49986 POST /Foo/Bar HTTP/1.0 Host: localhost:49986 Content-Length: 36 Content-Type: application/x-www-form-urlencoded User-Agent: HackitWithRacket foo=bar&fiz=buz And it works. Fun. I hope this helps somebody. Daniel On Fri, Jun 11, 2010 at 2:42 PM, Eli Barzilay <e...@barzilay.org> wrote: > On Jun 11, Noel Welsh wrote: >> I did a quick check of the source code and post-impure-port definitely >> does send the post data -- at least functions to do so appear in the >> code. Have you tried a packet sniffer like Wireshark? That will tell >> exactly was is being sent over the wire. > > Netcat is very simple -- I ran > > nc -l -p 49986 > > and the script sent exactly this: > > POST /foo/bar/ HTTP/1.0 > Host: localhost:49986 > Content-Length: 15 > > foo=bar&fiz=fuz > > -- > ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: > http://barzilay.org/ Maze is Life! > _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users