====== 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"