web-dev-qa-db-fra.com

Variables dans wget post data

Je travaille sur un simple script bash pour télécharger des images du site Tumblr. L'idée est d'utiliser read pour obtenir les informations de connexion de l'utilisateur et wget --post-data pour vous connecter, et voici ce que j'ai:

read -p "Tumblr login email: " EMAIL
read -p "Tumblr login password: " PASSWRD
wget --user-agent=Mozilla/5.0 --save-cookies cookies.txt --post-data 'email=$EMAIL&password=$PASSWRD' --no-check-certificate https://www.tumblr.com/login

Cependant, il envoie "$EMAIL" et "$PASSWRD" au lieu des chaînes pour les variables, existe-t-il un moyen de lui faire envoyer des valeurs qui ont été entrées par l'utilisateur?

28
user1111098

changement:

--post-data 'email=$EMAIL&password=$PASSWRD'

à:

--post-data="email=$EMAIL&password=$PASSWRD"

manuel bash sur Quoting: http://www.gnu.org/software/bash/manual/bashref.html#Quoting

62
kev

important: ne pas utiliser:

--header="Content-Type: text/xml" 

avec --post-data. Il remplacera

--header="Content-Type: application/x-www-form-urlencoded" 

délivré par wget. Les post-données ne seront pas reçues par HttpServlet

3
SzB