HTTP HTTP POST HTTP MIME POST # Server-side HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake swsclose Connection: close Content-Type: text/html hello HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake swsclose Connection: close Content-Type: text/html hello HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake swsclose Connection: close Content-Type: text/html hello # Client-side Mime http # tool is what to use instead of 'curl' lib%TESTNUMBER HTTP duplicate easy handle with mime data http://%HOSTIP:%HTTPPORT/%TESTNUMBER %LOGDIR/file%TESTNUMBER.txt This is data from a file # Verify data after the test has been "shot" s/^--------------------------[A-Za-z0-9]*/------------------------------/ s/boundary=------------------------[A-Za-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 /%TESTNUMBER HTTP/1.1%CR Host: %HOSTIP:%HTTPPORT%CR Accept: */*%CR Content-Length: 0%CR %CR POST /%TESTNUMBER HTTP/1.1%CR Host: %HOSTIP:%HTTPPORT%CR Accept: */*%CR Transfer-Encoding: chunked%CR Content-Type: multipart/form-data; boundary=----------------------------%CR Expect: 100-continue%CR %CR 1c1%CR ------------------------------%CR Content-Disposition: form-data; name="greeting"%CR Content-Type: application/X-Greeting%CR Content-Transfer-Encoding: base64%CR X-Test-Number: %TESTNUMBER%CR %CR aGVsbG8=%CR ------------------------------%CR Content-Disposition: form-data; filename="file%TESTNUMBER.txt"%CR Content-Type: text/plain%CR %CR This is data from a file %CR ------------------------------%CR Content-Disposition: form-data%CR %CR %CR 1%CR d%CR 1%CR u%CR 1%CR m%CR 1%CR m%CR 1%CR y%CR 1%CR %CR 36%CR %CR --------------------------------%CR %CR 0%CR %CR