v2.5.2
Giriş yap

NodJs veya Pph Curl ile Paraşüt web uygulamasına giriş?

trsherlock
1,188 defa görüntülendi

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)
        });
    })
}
trsherlock
858 gün önce

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/