Código
function post(path, params, method) { method = method || "post"; // Set method to post by default if not specified. // The rest of this code assumes you are not using a library. // It can be made less wordy if you use one. var form = document.createElement("form"); form.setAttribute("method", method); form.setAttribute("action", path); for(var key in params) { if(params.hasOwnProperty(key)) { var hiddenField = document.createElement("input"); hiddenField.setAttribute("type", "hidden"); hiddenField.setAttribute("name", key); hiddenField.setAttribute("value", params[key]); form.appendChild(hiddenField); } } document.body.appendChild(form); form.submit(); } post('/ajax/sessions', {email:'micorreo:v@gmail.com', password:'micontra:v', remember:'true', phone_code:'', challenge_phone_code:'', otp_code:'', redirect:'', invite_code:'', account_invite:'', invite:'', csrf_token:'vKBDbBtxgCxKVVp2XSSxXR7lLSLXm4cbFk4wbcSRhjluhh7lla4WcT1pXUILKq8LulqwgIEnoeVGTwUAdsVDag==', recovery_token:'', io_blackbox:'0400nyhffR+vPCUNf94lis1ztvbp9oIAPEEopCrr9RouwVsQ0cKHhjdDVsqh7p5fFmEVQ7B9IJqAPsNTM+276GxRfLnYpgrFwByeqHV8lCsVIFbWfvi2lw6riEVfH5Uu1Pa6MVzb/RC5nHohLpyPI8X8K5tpu4sEMnf8VWodMUtjVJNeJrxSgBcxPnsdUywEcm1K+F9+VNHlcz2S1jpcabdGFPXJiqy0MXMQOThNipDmXv9I185O+yC2f3lLEO0Tay66NZEyiLNePemJKSIdwO9O5ZtntuUkG6NTRoYeUPGnwHjFYtoljNkK2JE75agXQtdj5mNV6QxgbcnqT3LYd4+PRQdB6pv1bKzVnopNQQqb/EOYmHjPkDhYg4YU4abOx4QfREn2eKjmH96AqQ+knILEgCO7Idkyj9s/2/Ec1nc2SuHyVZvPYBR/L5MytExFNU2QQkjj/Bf3sgBpWZmpMPu3J3Rbz61iBMU+MbjaEQK2jIvqMH5mYxq87tK3Sga2t5uG5KDmLpERJxUFcsA6/cMEB82WylhfKXiIx7yacWI+PSK/IbftiEHVGIUSdjZdlTKd5dIOEwugp+2ixPMqjFULp9I8UWAJoym9T+HoQVdeZcQBoPl9aZStS8Vi2iWM2QrYtSVPrbgATwh5wzug8QBi+7I+vS3zO1UWbqNLtKFF+Ej9dBeIcrk/mUqP6oeuoYI8sj69LfM7VRauU34DB/Sj166xraOOHRWf5NAePLsfleEscIcAZjcnSOkupWtJXOwjUsHozl+XYSgwQCgSK0S20VSjUNGRS08Yksr6vgLcrx4+iktZSIptMnhVKFtj4RUEN0wvpmFXnIR+huI6Fw40k82cGDz2Tnqs04eOzsc7kIv/+WLydhuyopXX8Hd7GWxj5vx0h08Rv2Sb1x4cMpEKIsKBuBc+aLOMeVaYJEF00M2y5rEDAARtF2ONlKQFMFWIkFdSU6Rxh6GAmeNHH6+w6spyZbIBIfVFMGourfFRNTr/iCeQxpS4Qc4BMaVS6EZCLI+vJ+OOBfRJQzwrshwraoxC7FLfvWJUkA6IW/8CmJWDCQKYkQG6VNMDc2VmnBkfAbp69GdgrnB2KKkVRLfrryi92D5HvdyU2HCUClMnslabPrXOHMUHV/XB+uYWL1YEMZnevnJtZXgW8Ti68OEwdbYZ1lfcymPy1lMSgm8hl0FIqzQCdAfZfQ5oR/IjU+bZjD2O3xUgB+ZtAeHicfLGEKOaSzC6VU9YFFAN6Q1x80WrOPxkUl4i0DiWulOYqRXvyPCOzkJrb/AF2GKb28r9S+nrC/zwRc9dcD6T1dGUjL9miDmGU74ISPMn2EGzQx/LnIxOpvC8GU+TF2eIZON1xTT00/ixRKjYa5tXydDSsFvNYKRSb/cZmKl7hKR47JjsBXPlqsOOglOKOYbRx0eQ8sAl6BLOOa04sQtmWkjIt/HHX6EQ5gVKCnmAzJxTe3Ovf/g+WGhSjwUcPbEDsm9SJ71HQb1S/UgC+ryxGpC/LhQ=', source:'react'});
Ya tengo entendido lo del srcf_token pero para qué sirve el io_blackbox? Ambos valores los puedo obtener del HTML para enviarlos por Post.
Ahora mi otra duda, al iniciar sección de forma normal, veo por "inspeccionar" estos valores:
Código:
Request Headers
view source
Accept:*/*
Accept-Encoding:gzip, deflate, br
Accept-Language:es-419,es;q=0.8
Connection:keep-alive
Content-Length:2017
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Cookie:
Host:
Origin:
Referer:
SomePage-livemode:true
User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
X-Requested-With:XMLHttpRequest
x-revision:36458ec1b6040d71e0839a491287eee0cee4d531
x-SomePage-csrf-token:l0K0bampWSlM5tBiQEZxcg2nkKdWQf1KMtOosrfq9OBrebopoDmQCwru9PzMYgpvFTBulcNFLHy149yaarBmNQ==
Form Data
email:micrreo:v@gmail.com
password:micontra:v
remember:true
...
...
...
Lo de Arriba es cuando inicio sección de forma normal, el problema es que cuando lo hago usando el javascript( el primero codigo) se anulan estas 4 lineas en el Request Headers:
Código:
SomePage-livemode:true
X-Requested-With:XMLHttpRequest
x-revision:36458ec1b6040d71e0839a491287eee0cee4d531
x-SomePage-csrf-token:l0K0bampWSlM5tBiQEZxcg2nkKdWQf1KMtOosrfq9OBrebopoDmQCwru9PzMYgpvFTBulcNFLHy149yaarBmNQ==
Ahora mi duda es ¿Cómo hago para que el Request Headers sea idéntico a cuando inicio sección de forma normal? O sea cómo hago para especificar el Request Header desde mi codigo javascript?
EDITO: probaré con Este ejemplo
EDITO2: Me ha funcionado, ahora solo me queda la duda del para qué sirve io_blackbox y cómo funciona