Sto scrivendo uno script che carica un file in uno script cgi che si aspetta una richiesta multipart, come un modulo su una pagina HTML. Lo boundary
è un token univoco che annota il contenuto del file nel corpo della richiesta. Ecco un esempio del corpo:Generazione del confine multiparte
--BOUNDARY
Content-Disposition: form-data; name="paramname"; filename="foo.txt"
Content-Type: text/plain
... file contents here ...
--BOUNDARY--
Il boundary
non possono essere presenti nel contenuto del file, per ovvie ragioni.
Cosa devo fare per creare un confine univoco? Devo generare una stringa casuale, verificare se si trova nel contenuto del file, e se lo è, generare un nuovo, risciacquo e ripetere, fino a quando non ho una stringa unica? O sarebbe sufficiente un "token piuttosto casuale" (ad esempio combinazione di timestamp, id di processo, ecc.)?
Che linguaggio di programmazione usi? Solitamente una cosa del genere viene gestita da una biblioteca. –
Sto usando Ruby. Dovrebbe essere nello stdlib, però, non può usare gems dato che lo script dovrebbe essere eseguibile su qualsiasi sistema con Ruby installato, senza dover installare gems. –