====== Post con curl ======
Instalamos la extensión "HTTP header live" para ver los posts y headers que pasa.
Vamos a probar simulación con la URL:
http://localhost:8000/mw-config/index.php
Para simularlo, primero vamos a la primera web y guardamos la cookie con el parámetro -c, los headers con -D y la página con -o y así haremos sucesivamente. Accedemos a la web con -L que sigue todas las redirecciones:
curl -A "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0" \
-c cookie1 \
-D header1 \
-o page1.html \
-L "http://localhost:8000/mw-config/index.php"
Si abrimos el fichero pageX.html podemos ver si vamos bien.
Para simular el POST, pulsamos continue y nos fijamos en los POST de http headers:
{{:informatica:linux:curl:post01.png|}}
Si hacemos click sobre el texto del post, nos abre otra ventana con los datos solo de este post:
{{:informatica:linux:curl:post02.png|}}
Nos quedamos con los campos:
URL destino: rojo (-L)
Referer: rosa (-e)
Datos del POST: rojo (-d)
Ponemos el parámetro -b para leer la cookie anterior y volvemos a hacer lo mismo con -c,-D,-o subiendo un número para tener histórico:
POST:
LanguageRequestTime=1590767092&uselang=en&ContLang=en&submit-continue=Continue
Le he quitado la -> del post y funciona.
curl -A "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0" \
-b cookie1 \
-c cookie2 \
-D header2 \
-o page2.html \
-d "LanguageRequestTime=1590767092&uselang=en&ContLang=en&submit-continue=Continue" \
-e "http://localhost:8000/mw-config/index.php" \
-L "http://localhost:8000/mw-config/index.php?page=Welcome"
Pulsamos otra vez continue:
POST:
submit-continue=Continue
curl -A "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0" \
-b cookie2 \
-c cookie3 \
-D header3 \
-o page3.html \
-d "submit-continue=Continue" \
-e "http://localhost:8000/mw-config/index.php?page=Welcome" \
-L "http://localhost:8000/mw-config/index.php?page=Welcome"
Rellenamos los datos de la BBDD:
POST:
DBType=mysql&mysql_wgDBserver=app-db&mysql_wgDBname=my_wiki&mysql_wgDBprefix=prueba&mysql__InstallUser=root&mysql__InstallPassword=wiki&sqlite_wgSQLiteDataDir=/var/www/data&sqlite_wgDBname=my_wiki&submit-continue=Continue →
curl -A "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0" \
-b cookie3 \
-c cookie4 \
-D header4 \
-o page4.html \
-d "DBType=mysql&mysql_wgDBserver=app-db&mysql_wgDBname=my_wiki&mysql_wgDBprefix=prueba&mysql__InstallUser=root&mysql__InstallPassword=wiki&sqlite_wgSQLiteDataDir=/var/www/data&sqlite_wgDBname=my_wiki&submit-continue=Continue" \
-e "http://localhost:8000/mw-config/index.php?page=DBConnect" \
-L "http://localhost:8000/mw-config/index.php?page=DBConnect"
Si dejamos marcado lo de "Use the same account as for installation" y pulsamos continue:
POST:
mysql__SameAccount=1&mysql_wgDBuser=wikiuser&mysql_wgDBpassword=&submit-continue=Continue
curl -A "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0" \
-b cookie4 \
-c cookie5 \
-D header5 \
-o page5.html \
-d "mysql__SameAccount=1&mysql_wgDBuser=wikiuser&mysql_wgDBpassword=&submit-continue=Continue" \
-e "http://localhost:8000/mw-config/index.php?page=DBSettings" \
-L "http://localhost:8000/mw-config/index.php?page=DBSettings"