Newsgroup: it.comp.os.linux.development
Titolo: script in bash per upload di immagini.

> $file
	echo "Accept-Language: en-us,en;q=0.5" >> $file
	echo "Accept-Encoding: gzip,deflate" >> $file
	echo "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" >> $file
	echo "Keep-Alive: 300" >> $file
	echo "Connection: keep-alive" >> $file
}
presentdata
echo "--$CODE" > $file1
echo "Content-Disposition: form-data; name=\"MAX_FILE_SIZE\"" >> $file1
echo "" >> $file1
echo "3145728" >> $file1
echo "--$CODE" >> $file1
echo "Content-Disposition: form-data; name=\"refer\"" >> $file1
echo "" >> $file1
echo "" >> $file1
echo "--$CODE" >> $file1
echo "Content-Disposition: form-data; name=\"brand\"" >> $file1
echo "" >> $file1
echo "" >> $file1
echo "--$CODE" >> $file1
newimage=$(echo "$image"|sed 's/§/_/g')
echo "Content-Disposition: form-data; name=\"fileupload\";
filename=\"$newimage\"
" >> $file1
if [[ $typeimage == "GIF" ]]
then
	echo "Content-Type: image/gif
" >> $file1
elif [[ $typeimage == "JPEG" ]]
then
	echo "Content-Type: image/jpeg
" >> $file1
else
	echored "IMMAGINE SCONOSCIUTA"
	exit
fi
echo "" >> $file1
cat $image >> $file1
echo "" >> $file1
echo "--$CODE--" >> $file1
SIZE=$(ls -la $file1|(read x x x x y x ; echo $y))
echo "Content-Type: multipart/form-data; boundary=$CODE" >> $file
echo "Content-Length: $SIZE" >> $file
echo "" >> $file
cat $file1 >> $file
echoyellow "Sending data..."
netcat "$ADDRESS" 80 < $file > $filetemp
cat $filetemp |sed 's/^[0123456789abcdef]*.$/XXXXXXXXXXXXXXXXX/g'|grep
-v "XXXXXXXXXXXXXXX"|tr "
\n" §|sed 's/§§//g'|sed 's/§/\
/g'|sed -n '/<html>/,/<\/html>/p' > $file2
echogreen "Done"
TH=$(cat $file2|grep "Thumbnail for forums (1)"|sed
's/.*\[URL=\(.*\)\]\[IMG\]\(.*\)\[\/IMG\].*/\2/g')
UR=$(cat $file2|grep "Thumbnail for forums (1)"|sed
's/.*\[URL=\(.*\)\]\[IMG\]\(.*\)\[\/IMG\].*/\1/g')
echo "[URL=$UR][IMG]$TH[/IMG][/URL]" >> $file3
echo "<a href=\"$UR\"><img src=\"$TH\"></a>" >> $file3
rm $file $file1 $file2 $filetemp
--------------------------------------------------------------------
Il programma dovrebbe spedire un file utilizzando il metodo POST,
attraverso nc (se vi state chiedendo perchè non uso wget --post-file
è perchè sembra non funzionare, allora creo da solo il pacchetto da
mandare), poi ricevere un file html che processa con sed per ricavare
gli indirizzi della thumbnail e dell'immagine.
A volte funziona. Altre volte, invece, il file
.imageshakuploadtempfile2 mi torna vuoto.

 immagini su 
imageshack.us
.
Provato curl?
Lo script che segue equivale alla tua parte di upload, e la risposta la
trovi nel file "reply" (opzione -o). Ho fatto delle prove e mi pare
funzioni.
Non so perché il tuo script non vada (è... un po' troppo
artigianale).
Cmq ho visto che l'upload non mi andava a buon fine se negli
header della POST c'era "Expect: 100" (ce lo mette curl di suo, ed il
server http mi rispondeva sempre picche -- in effetti è l'unica
differenza che ho trovato rispetto ad una richiesta con un vero Firefox).
Credo sia pure il problema che ha wget.
#!/bin/sh
image="$1"
 
curl \
    -A 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050517 Firefox/1.0.4 (Debian package 1.0.4-2)' \
    --referer '
http://imageshack.us/
' \
    -H "Expect:" \
    -F "MAX_FILE_SIZE=3145728" \
    -F 'refer=
http://reg.imageshack.us/content.php?page=register
' \
    -F "brand=" \
    -F "fileupload=@${image}" \
 
http://imageshack.us/
 \
    -o reply
-- 
  |   \    \  | ___|_  |_  |  ianezz a casa sua... :-)
  |  _ \  | \ | _|    /   /   Verba volant, scripta
 _|_/  _\_|  _|____|___|___|  manent, data corrupted

 Provato curl?
Non lo conoscevo.
Grazie, ora lo provo.