Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re3: HTTP::Request::Common and multipart/form-data

by bbfu (Curate)
on Apr 08, 2003 at 17:58 UTC ( #249022=note: print w/replies, xml ) Need Help??

in reply to Re: Re: HTTP::Request::Common and multipart/form-data
in thread HTTP::Request::Common and multipart/form-data

According to RFC1341, "xYzZY" is technically a legal boundary. The purpose of the boundary is to separate the parts of the message. Therefore, the only real requirement is that the boundary string does not appear anywhere in the message. That's why you usually see long strings of mixed alpha-numeric characters. The RFC even recommends using a string containing a string such as "=_" that can never appear in the message for the particular encoding. But as long as the message doesn't contain the boundary, however, everything will work fine.

It just so happens that HTTP::Request::Common uses the following code specifically to ensure that the boundary does not appear anywhere in any of the form parts. It does this by actually checking to see if the boundary is in the part, and making a new boundary if it is.

CHECK_BOUNDARY: { for (@parts) { if (index($_, $boundary) >= 0) { # must have a better boundary $boundary = boundary(++$bno); redo CHECK_BOUNDARY; } } last; }

So, my long-winded point is, don't worry that the boundary string is different. It will work just fine the way it is. :)

Update: It is also important to note that the boundary string sent by your browser will almost certainly be different every time it posts the form. This is because the boundary is usually a randomly generated string, often containing elements such as the current date and time to ensure uniqueness. So it would probably be next to impossible to get your code to give the exact same boundary as your browser, every time.

Black flowers blossom
Fearless on my breath

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://249022]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (7)
As of 2021-01-27 18:57 GMT
Find Nodes?
    Voting Booth?