2015-11-03 12:47:44 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
2016-12-16 07:38:35 +00:00
|
|
|
echo 'Logging in'
|
2015-11-03 12:47:44 +00:00
|
|
|
curl -b cookies -c cookies -s -F 'email=ChristianLupus@web.de' -F 'form_id=packt_user_login_form' -F 'password=naitsirhc' -F 'op=Login' https://www.packtpub.com/ > /dev/null
|
|
|
|
|
|
|
|
echo 'Obtaining free book information'
|
2015-11-03 12:56:58 +00:00
|
|
|
url=$(curl -b cookies -c cookies -s https://www.packtpub.com/packt/offers/free-learning | grep freelearning-claim | grep -o 'href="[^"]*' | grep -o '/free.*')
|
2015-11-03 12:47:44 +00:00
|
|
|
|
|
|
|
echo 'Claiming free book'
|
2015-11-03 12:56:58 +00:00
|
|
|
curl -b cookies -c cookies https://www.packtpub.com$url
|
|
|
|
|
|
|
|
opwd=$(pwd)
|
|
|
|
if [ $# -eq 1 ]; then
|
|
|
|
mkdir -p "$1"
|
|
|
|
cd "$1"
|
|
|
|
else
|
2016-01-27 14:23:36 +00:00
|
|
|
mkdir -p downloads
|
2015-11-03 12:56:58 +00:00
|
|
|
cd downloads
|
|
|
|
fi
|
2015-11-03 12:47:44 +00:00
|
|
|
|
|
|
|
echo 'Downloading books'
|
|
|
|
id=$(echo $url | grep -o '/[0-9/]*/' | grep -o '[0-9]*')
|
2016-01-27 14:23:36 +00:00
|
|
|
name=$(curl -b "$opwd/cookies" -c "$opwd/cookies" -sI https://www.packtpub.com/ebook_download/$id/pdf | grep 'Location' | grep -Eo 'https?://[^?]*' | sed 's@.*/@@' | sed 's@\.pdf@@i' )
|
|
|
|
echo $name
|
|
|
|
out=$(curl -b "$opwd/cookies" -c "$opwd/cookies" -L https://www.packtpub.com/ebook_download/$id/pdf https://www.packtpub.com/ebook_download/$id/epub -o "$name.pdf" -o "$name.epub" 2>&1 )
|
2015-11-03 12:47:44 +00:00
|
|
|
|
|
|
|
ret=$?
|
|
|
|
|
2015-11-03 12:56:58 +00:00
|
|
|
cd "$opwd"
|
|
|
|
|
2015-11-03 12:47:44 +00:00
|
|
|
echo 'Logging off'
|
|
|
|
curl -b cookies -c cookies -s https://www.packtpub.com/logout > /dev/null
|
|
|
|
|
|
|
|
if [ $ret -ne 0 ]; then
|
|
|
|
|
|
|
|
if [ $ret -eq 23 ]; then
|
|
|
|
echo Could not write file to file system:
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo -e "$out"
|
|
|
|
|
|
|
|
fi
|
2016-01-27 14:23:36 +00:00
|
|
|
|