пытаюсь написать сабж, не получается.
в качестве хостинга выбрал http://ipicture.ru
там после указания переменной userfile (согласно html коду http://ipicture.ru ) должна грузиться следующая страница с адресом типа http://ipicture.ru/Gallery/View/10198472.html
я так понимаю он должен передаваться курлу, однако этого не происходит. Возвращается страница с ошибкой. Собственно вопрос: как вытащить конечный адрес?
вот что сделал. собственно одну строчку исправить только
#!/bin/bash
pic1=`mktemp tmp_imgXXXXX.png`
echo Point area to take screenshot.
scrot -s $pic1
#по идее должна была бы возвращаться страница с адресом и я бы ее вот так вытянул:
next=`curl -i -F userfile=@"$pic1" http://ipicture.ru/Upload|egrep -o "http://ipicture.ru/Gallery/View/[0-9].html"`
# ну и для получения конечного результат вытягиваем интересующий нас адресок:
result=`curl "$next"|egrep -o "\[IMG\]http://(.*)\[\/IMG]"`
echo Your image URL for forum is $result
rm $pic1
[21:02]deb:~ $ echo $pic1
1.png
[21:02]deb:~ $ ls -l|grep png
-rw-r--r-- 1 user user 955 Дек 12 00:47 1.png
[21:02]deb:~ $ curl -s -i -F "userfile=@$pic1" -F "method=file" "http://ipicture.ru/Upload/" | egrep -o "http://ipicture.ru/Gallery/View/[0-9]+\.html"
[21:03]deb:~ $ dpkg -l |grep curl
ii curl 7.18.2-7 Get a file from an HTTP, HTTPS or FTP server
ii libcurl3 7.18.2-7 Multi-protocol file transfer library (OpenSS
ii libcurl3-gnutls 7.18.2-7 Multi-protocol file transfer library (GnuTLS
ii php5-curl 5.2.6.dfsg.1-0.1+b1 CURL module for php5
[21:03]deb:~ $ dpkg -l |grep egrep
ii grep 2.5.3~dfsg-6 GNU grep, egrep and fgrep
#!/bin/bash
#Script to upload images to ipicture
#Curl & scrot are needed for work
#By SLEDopit
upload()
{
echo -n Uploading image, please wait...
next=`curl -s -i -F "userfile=@$1;type=image/png" -F "method=file" http://ipicture.ru/Upload|egrep -o "http://ipicture.ru/Gallery/View/[0-9]+\.html"`
echo ...
result=`curl -s "$next" | egrep -o "\[IMG\]http://(.*)\[/IMG\]"| sort`
echo Done
image=`echo $result|awk '{print $1}'`
thumb=`echo $result|awk '{print $3}'`
echo Your image URL for forum is $image
echo Your thumb URL for forum is $thumb
}
all()
{
name=`mktemp tmp_imgXXXXX`
pic1=$name\.png
echo Screenshoting...
scrot $pic1
upload $pic1
rm $name
rm $pic1
}
part()
{
name=`mktemp tmp_imgXXXXX`
pic1=$name\.png
echo Point area to take screenshot:
scrot -s $pic1
upload $pic1
rm $name
rm $pic1
}
file()
{
if [ -n "$1" ]; then
ls $1 >/dev/null 2>/dev/null
if [ "$?" -eq "0" ]; then
upload $1
else
echo No such file
fi
else
echo Please specify file to upload
exit
fi
}
case "$1" in
-a)
all
;;
-p)
part
;;
-f)
file $2
;;
*)
echo "Usage: ./screen -option
Options:
-p Take a located part of screen
-a Take whole screen
-f Upload existing image" >&2
exit 3
;;
esac