http://www.perlmonks.org?node_id=248748

jerryodom has asked for the wisdom of the Perl Monks concerning the following question:

I'm trying to reproduce headers to submit to a form using HTTP::Request::Common. My problem is that I can't generate a proper Content-Type: multipart/form-data; boundary= header which is like the one Explorer gives. I haven't even come close. Can you help?

Note: I don't necessarily have to use HTTP::Request::Common I just need to generate the proper "boundary". If there is some other way then I'd appreciate hearing about that as well.

Here is the code, followed by my output, followed by the proper output. Many thanks in advance:

#the code #!/usr/bin/perl -w use HTTP::Request::Common; $request = HTTP::Request->new(); $request = POST '/database/some.php3', Referer => 'http://www.mydomain.com/some.php3', Accept_Language => 'en-us', Content_Type => 'multipart/form-data', Accept_Encoding => 'gzip, deflate', User_Agent => 'Mozilla/4.0', Host => 'www.mydomain.com', Connection => 'Keep-Alive', Content => { abc => 'dog', cde => '100', }; print $request->as_string; #my output POST /some.php3 Connection: Keep-Alive Accept-Encoding: gzip, deflate Accept-Language: en-us Host: www.mydomain.com Referer: http://www.mydomain.com/some.php3 User-Agent: Mozilla/4.0 Content-Length: 224 Content-Type: multipart/form-data; boundary=xYzZY --xYzZY Content-Disposition: form-data; name="nosresponses" 100 --xYzZY Content-Disposition: form-data; name="userkeyword" dog --xYzZY-- #proper output POST /some.php3 HTTP/1.1 Referer: http://www.mydomain.com/some.php3 Accept-Language: en-us Content-Type: multipart/form-data; boundary=-------------------------- +-7d32542f104c8 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 Host: www.mydomain.com Content-Length: 362 Connection: Keep-Alive Cache-Control: no-cache