NodJs veya Pph Curl ile Paraşüt web uygulamasına giriş?
Merhaba arkadaşlar aşağıdaki web tabanlı Paraşüt ön muhasebe uygulamasına otomatik giriş yaptırmak istiyorum.
Php curl ile denemek istedim name = "authenticity_token"
değeri de sayfada ile yüklendiği için direk giriş yaptırmadım. Oturum aç dediğim de arka planda post eder zannettim adres çubuğunu localhost/kullanici-girisi
şeklinde değiştirerek post etti.
Beni aşan bir sorun yardımlarınız için şimdiden teşekkürler.
Paraşüt Giriş Bağlantısı
e-posta: [email protected]
şifre: parasut
<form class="new_user" id="new_user" action="/kullanici-girisi" accept-charset="UTF-8" method="post">
<input type="hidden" name="authenticity_token" value="smhvSLLINoDT4Y1KnXRU4NkXzRrcodaA8XHkSDKhMaYR6bDYjYKYJO5aUzet2hWZgoZ57FrglQytuR5oE4VAIA==">
<div class="l-col16 l-offset-s3 l-col-s10 l-offset-l5 l-col-l6">
<div class="form u-clearfix u-mt1 u-pv15">
<div class="form-content">
<input placeholder="E-posta Adresi" class="field" type="email" value="" name="user[email]" id="user_email">
<input placeholder="Parola" class="field u-mb1" type="password" name="user[password]" id="user_password">
<div class="u-textLeft u-pullRight u-pt05">
<input name="user[remember_me]" type="hidden" value="0">
<input class="u-pullLeft u-width1 u-mr025" style="margin-top:0.15rem;" type="checkbox" value="1" name="user[remember_me]" id="user_remember_me">
<label class="u-pullLeft" for="user_remember_me">Oturum açık kalsın</label>
</div>
<input type="submit" name="commit" value="OTURUM AÇ" class="button button-primary button-big u-pullLeft" id="Sign_In" data-disable-with="OTURUM AÇ">
</div>
</div>
</div>
</form>
NodeJs ile yaptığımda gelen sonuç: <html><body>You are being <a href="https://uygulama.parasut.com/tarayicinizi-guncelleyin">redirected</a>.</body></html>
Şifreyi hatalı post ettiğimde giriş sayfasının html sayfasını döküyor sanırsam Nodejs ile post başarılı fakat sorgu yapan tarayıcı ile ilgili bir problem.
Bu konuda da yardımcı olursanız sevinirim.
var request = require("request");
var HTMLParser = require('node-html-parser');
login()
function login() {
var authenticity_token = {
method: 'GET', url: 'https://uygulama.parasut.com/kullanici-girisi',
};
request(authenticity_token, function (error, response, body) {
console.log(HTMLParser.parse(body).querySelector("input[name='authenticity_token']")["_attrs"]["value"])
var options = {
method: 'POST',
url: 'https://uygulama.parasut.com/kullanici-girisi',
qs:
{
authenticity_token: HTMLParser.parse(body).querySelector("input[name='authenticity_token']")["_attrs"]["value"],
'user[email]': '[email protected]',
'user[password]': 'parasut',
'user[remember_me]': '0',
commit: 'OTURUM AÇ'
}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body)
});
})
}
Doğru diyorsun paylaşmam gerekirdi.
Yalnız muhasebe bürosunda çalıştığım için hem sorunu çözmek hem muhasebe işleri ile uğraşmak epey vaktimi almıştı.
O zamanlar aklımdan uçup gitmiş. :)
Oturum açtıktan sonra pro hesabın sayfası https://uygulama.parasut.com/id/