Не удается войти на сайт с помощью Google Apps Script и получить ошибку 422 - PullRequest
0 голосов
/ 26 января 2019

Мне нужно собрать личные данные с японского сайта.Но я не могу войти на сайт и получить код ошибки 422. Как я могу войти?

Мне нужно войти на этот сайт: https://moneyforward.com/users/sign_in

Форма на этом сайте::

<form class="form-horizontal mf-mb40" id="new_sign_in_session_service" action="/session" accept-charset="UTF-8" method="post">
<input name="utf8" type="hidden" value="&#x2713;" />
<input type="hidden" name="authenticity_token" value="OGuijdFq6M1xngenCHi0BgZh9x0Nniw2HxiRhC9H2T0vbgWcWNRz+fmi5wxEdk4ua5TL9/UF7BapR2Af8CdILQ==" />
<div class="a-text--f14 mb3">e-mail</div><div class="a-text-box">
<input placeholder="entry" class="js-focus-form" type="email" name="sign_in_session_service[email]" id="sign_in_session_service_email" />
</div>
<div class="a-text--f14 mb3 mt20">password</div><div class="a-text-box">
<input placeholder="entry" type="password" name="sign_in_session_service[password]" id="sign_in_session_service_password" />
</div>
<div class="m-password-support">
<div class="a-checkbox password-show">
<label><input class="checkbox" id="show-ps" name="new1" type="checkbox" value="1" />
<span class="checkbox-icon"></span>
<span class="checkbox-txt">password</span></label>
</div>
<div class="password-forget">
<a href="/password_reset/new">forgot password</a>
</div>
</div>
<div class="a-button primary">
<input type="submit" name="commit" value="login" id="login-btn-sumit" data-disable-with="login" />
</div>
</form>

Я получаю сообщение об ошибке в последней строке "var response = UrlFetchApp.fetch (url, options)" ниже кода.

function Login() {

    var account ='***';
    var password = '***';

    var response = UrlFetchApp.fetch("https://moneyforward.com/users/sign_in");

    var regexp     = /<input type=\"hidden\" name=\"authenticity_token\" value=\"(.*?)\" \/>/;
    var elements = response.getContentText().match(regexp);

    var headers = response.getAllHeaders();
    var cookies = [];
    if ( typeof headers['Set-Cookie'] !== 'undefined' ) {
        var cookies = typeof headers['Set-Cookie'] == 'string' ? [ headers['Set-Cookie'] ] : headers['Set-Cookie'];
        for (var i = 0; i < cookies.length; i++) {
            cookies[i] = cookies[i].split( ';' )[0];
        };
    };

    var payload = {
        utf8: "✓",
        authenticity_token : elements[1],
        email : "account",
        password : password
    };

    var headers = { 'Cookie' : cookies };

    options = {
        method : "post",
        headers : headers,
        followRedirects: true, 
        contentType: "application/x-www-form-urlencoded",
        //muteHttpExceptions : true,
        payload : payload,
    };

    var url = "https://moneyforward.com/session";
    var response = UrlFetchApp.fetch(url, options);

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...