Вход на веб-сайт с использованием Google Apps Script обсуждался здесь ранее, и я, скорее всего, видел их все и попробовал их все.Но, похоже, ничего не работает.Я должен что-то контролировать и был бы признателен за вашу помощь.
Я пытаюсь войти на этот сайт https://teslaclub.ch/clubdesk/www?action=login&
Похоже, соответствующая информация для входа следующая:
<form method="post" action="www" accept-charset="UTF-8">
<input type="hidden" name="action" value="login">
<input type="hidden" name="redirectUrl" value="HxgrZFvkpAK4n-IGMS4gSQ">
<table class="admin">
<tr>
<td class="label">Benutzername:</td>
<td class="field"><input id="userId" name="userId" type="text" value="my login name comes here"></td>
</tr>
<tr>
<td class="label">Passwort:</td>
<td class="field"><input id="password" name="password" type="password"></td>
</tr>
<tr>
<td class="error" colspan="2"></td>
</tr>
<tr>
<td class="comment" colspan="2" style="line-height: 28px;color:#2eab66;">
<a href="www?action=signupUser&">
Zugang anfordern</a>
<a href="www?action=recover&">
Passwort vergessen</a>/<a href="www?action=changePassword&">
ändern</a>
<input style="float: right;" type="submit" value="Anmelden">
</td>
</table>
</form>
Я пытаюсь войти, как это (что я взял из других примеров и изменил его):
function loginToSite(){
var url = "https://teslaclub.ch/clubdesk/www?action=login&"; //change this.
var payload = {
"userId":"my login name comes here", //change this.
"password":"my password comes here" //and change this. done. no need to enter anything elsewhere.
};
var opt = {
"payload":payload,
"method":"post"
};
var response = UrlFetchApp.fetch(url, opt);
if ( response.getResponseCode() == 200 ) { //could not log in.
var result = "Couldn't login. Please make sure your username/password is correct.";
}
else if ( response.getResponseCode() == 303 ) { //login was successful. you might receive 302 response code as well depending upon the site. So try changing it to 302.
var result = "Logged in successfully";
var cookie = response.getAllHeaders()['Set-Cookie'];
var header = {
'Cookie':cookie[1] //taking the second cookie because when redirected, a new cookie is set. If the page does not redirect, you might need to use cookie[0] here. Try it out yourself!
};
}
Logger.log(result);
}
Я всегда получаю ответ 200 обратно.Поэтому я думаю, что мне не хватает функции «нажать» кнопку входа (Anmelden).Но я не уверен, как я мог это сделать.
Ваша помощь будет высоко оценена.
Хайнц