HTTP HTTP POST FORM # # Server-side HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake swsclose Connection: close Content-Type: text/html hello # Client-side http # tool is what to use instead of 'curl' lib650 HTTP formpost using form API Some data from stdin http://%HOSTIP:%HTTPPORT/650 log/test650.filedata This is data from a file. # # Verify data after the test has been "shot" s/^--------------------------[a-z0-9]*/------------------------------/ s/boundary=------------------------[a-z0-9]*/boundary=----------------------------/ # Note that the stripping above removes 12 bytes from every occurrence of the # boundary string and since 5 of them are in the body contents, we see # (5*12) == 60 bytes less POST /650 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* Transfer-Encoding: chunked Content-Type: multipart/form-data; boundary=---------------------------- Expect: 100-continue 361 ------------------------------ Content-Disposition: form-data; name="fieldname" Content-Type: text/plain X-customheader-1: Header 1 data X-customheader-2: Header 2 data this is what we post to the silly web server ------------------------------ Content-Disposition: form-data; name="fieldnam" uhis is what we post to the silly web serve ------------------------------ Content-Disposition: form-data; name="multifile" Content-Type: multipart/mixed; boundary=---------------------------- ------------------------------ Content-Disposition: attachment; filename="test650.filedata" Content-Type: application/octet-stream This is data from a file. ------------------------------ Content-Disposition: attachment; filename="test650.filedata" Content-Type: text/whatever a5 This is data from a file. ------------------------------ Content-Disposition: attachment; filename="test650.filedata" Content-Type: text/whatever af This is data from a file. -------------------------------- ------------------------------ Content-Disposition: form-data; name="filecontents" 10f This is data from a file. ------------------------------ Content-Disposition: form-data; name="formlength" 1367 ------------------------------ Content-Disposition: form-data; name="standardinput" Content-Type: application/octet-stream 16 Some data from stdin 30 -------------------------------- 0