Я пытаюсь создать программу с Javascript, которую я могу использовать для автоматического входа на веб-сайты. Веб-сайт, на котором я тестирую это ATT, так как я пытаюсь войти и посмотреть на мой счет за мобильный телефон. Когда я запускаю программу, указанную ниже, я перехожу на страницу ATT, где говорится, что в настоящее время они выполняют техническое обслуживание, и пытается повторить попытку позже. Я знаю, что это неверно, так как мне удалось войти через несколько секунд. У меня нет большого опыта работы с javascript, и большая часть этого кода была взята из других онлайн-источников, поэтому я не уверен, что мне не хватает чего-то, что нужно включить, или это просто факт, что ATT использует некоторые другой тип входа, с которым не работает этот код. Я попытался просмотреть исходный код страниц и не увидел ссылки на какую-либо форму, не зная, имеет ли это значение для данной конкретной ситуации.
Вот код:
<HTML>
<HEAD>
<TITLE>Login</TITLE>
<script>
<!--
function login() {
document.form1.action="https://www.att.com/";
document.form1.submit();
}
//-->
</script>
</HEAD>
<BODY onLoad="login()">
<FORM NAME="form1" id=form1 METHOD="POST">
<INPUT TYPE="hidden" NAME="userid" VALUE="Username">
<INPUT TYPE="hidden" NAME="password" VALUE="Password">
<input type="hidden" name="reqURI" value="/rhwc/smu">
</FORM>
</BODY>
</HTML>
3 ответа
Вы можете сделать это, я попробовал, и это работает:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=10" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
<title>Test</title>
</head>
<body>
<form method="post" action="https://www.att.com/olam/loginAction.olamexecute">
Username:<input type="text" name="wireless_num"/>
Password:<input type="password" name="pass"/>
<input type="hidden" value="YES" name="rememberme"/>
<input type="hidden" value="dotComLogin" name="actionEvent"/>
<input type="submit" value="Submit"/>
</form>
<script>
</script>
</body>
</html>
Атрибуты id и name не совпадают. Это атрибут name поля ввода, который будет отправлен вместе со значением, которое вы вводите.
Если вы осмотрите поле User ID, вы увидите следующий HTML-код:
<input id="userid" class="text" name="wireless_num" ...>
В своем коде вы вводите имя пользователя под именем «идентификатор пользователя». Тем не менее, он должен быть представлен под 'wireless_num'.
Неправильные имена
name
элементов<input>
не совпадают с именами на сайте ATT. Сервер не будет ожидать ваших имен и не будет обрабатывать данные в этих полях.Неправильные действия (вероятно)
Я почему-то сомневаюсь, что серверный скрипт, который обрабатывает логины на сайте ATT, находится на домашней странице. Скорее всего, это/login
или/log-in
и т. Д. Если вы поместите форму в неправильный скрипт, то никакие данные не будут обработаны, и вы не войдете в систему.
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.