then you have at least a syntactically correct request-line, but it's still not a valid HTTP/1.1 request. Also, the parameters are encoded as GET parameters, not POST parameters, which can and will confuse scripts that make the distinction.

Now, file upload is even more complicated. It starts with your form suffering from incompatibility problems. I don't know if any browsers actually submit data in such a form. I know for sure that the file upload won't work with PHP. If you want a file upload, then you have to give the form the enctype="multipart/form-data". Otherwise, you'll have problems.

Now, I'm not going to type up how to encode such a request. You can find an example in the HTML 4.01 spec. Another valuable resource is the HTTP/1.1 spec.