live.com帐户

时间:2017-03-13 01:35:58

标签: javascript html outlook

每个人都晚安。我需要一些自动登录程序的帮助。

具体问题=如何在同一个html页面内启动第二个表单操作?我还需要创建一个5秒的延迟,以便第一个动作可以完成

我正在寻找的结果=我想双击保存的.html文件,然后自动登录我的电子邮件

网站= HTML代码: https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=13&ct=1489346474&rver=6.7.6640.0&wp=MBI_SSL&wreply=https%3a%2f%2foutlook.live.com%2fowa%2f%3fauthRedirect%3dtrue%26nlp%3d1&id=292841&CBCXT=out&fl=wld&cobrandid=90015

我是如何获得此网址的? = msn.com>点击outlook>点击登录

问题= 我在保存的html页面中创建了一个javascript函数,我可以通过页面登录。问题是我无法将密码正确放入密码字段并提交按钮。对于我的live.com帐户,这是一个2页的身份验证。第一页是您放置用户名的位置,然后单击“下一步”,然后在第2页输入密码并单击“登录”。

我尝试了什么=

  • (1)因为有占位符文本,我尝试过POST方法,但是 我无法让它发挥作用。 POST会是最好的,但我无法理解 进行。
  • (2)我尝试按id获取元素,但这不起作用 我的密码只是写在占位符文本之上,并且确实如此 没有被取代
  • (3)当前状态。我现在写的是2表格 动作。第一个表单操作(logonForm)输入我的用户名和 第二个表单操作(passForm)应该输入我的密码然后 登录.2个表单操作是实现此目的的最佳方法吗?

我有多远=

<html>
  <body style="display: none">
    <form action="https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=13&ct=1485483982&rver=6.7.6640.0&wp=MBI_SSL&wreply=https%3a%2f%2foutlook.live.com%2fowa%2f%3fnlp%3d1&id=292841&CBCXT=out&fl=wld&cobrandid=90015" method="POST" name="logonForm" ENCTYPE="application/x-www-form-urlencoded"
id="loginForm">
      <input type="hidden" name="destination" value="https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=13&ct=1485483982&rver=6.7.6640.0&wp=MBI_SSL&wreply=https%3a%2f%2foutlook.live.com%2fowa%2f%3fnlp%3d1&id=292841&CBCXT=out&fl=wld&cobrandid=90015">
      <input type="hidden" name="username"  value="this is my username@live.com" >
      <input type="hidden" name="passwd"  value="this is my password">
      <input type="hidden" name="flags" value="4">
      <input type="hidden" name="forcedownlevel" value="0">
      <input type="radio"  name="trusted" value="4" class="rdo" checked>
      <input type="hidden" name="isUtf8"  value="1">
    </form>


    <form action="https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=13&ct=1485483982&rver=6.7.6640.0&wp=MBI_SSL&wreply=https%3a%2f%2foutlook.live.com%2fowa%2f%3fnlp%3d1&id=292841&CBCXT=out&fl=wld&cobrandid=90015" method="POST" name="passForm" ENCTYPE="application/x-www-form-urlencoded"
id="passwordForm">
      <input type="hidden" name="destination" value="https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=13&ct=1485483982&rver=6.7.6640.0&wp=MBI_SSL&wreply=https%3a%2f%2foutlook.live.com%2fowa%2f%3fnlp%3d1&id=292841&CBCXT=out&fl=wld&cobrandid=90015">
      <input type="hidden" name="username"  value="This is my username@live.com" >
      <input type="hidden" name="passwd"  value="this is my password">
      <input type="hidden" name="flags" value="4">
      <input type="hidden" name="forcedownlevel" value="0">
      <input type="radio"  name="trusted" value="4" class="rdo" checked>
      <input type="hidden" name="isUtf8"  value="1">
      <input type="hidden" name="data-bind" value="this is my password">
    </form>


    <script type="text/javascript">
      document.forms["logonForm"].submit();
      document.forms["passForm"].submit();
    </script>


  </body>

</html>

我是java的新生,我对编码,开发和学习抱有很大的兴趣。我似乎无法理解这一点。我确定我的html / java看起来像乱七八糟的混乱,但那是因为我一直在尝试所有类型的东西,看看是否有什么工作,当我能够通过登录页面时我很兴奋。

我为长篇帖子道歉,我只想获得尽可能多的信息。我想尽可能具体。这是我在堆栈溢出中的第一篇文章,对于成为这个社区的一员,我感到非常兴奋。

提前感谢您的帮助! TechStudent01

1 个答案:

答案 0 :(得分:0)

你不能这样做。

一旦发送<form>GETPOST),这是一个同步操作,您的脚本基本上会停止执行,除非目标网页无法加载(和浏览器没有显示错误页面,这可能发生在严重的网络问题上),.submit()是一个无法返回的功能:如果它正确执行,你就不再在同一页面上了

让您从网页运行脚本到新加载的其他脚本将是大量安全问题的大门,因此,这是不允许的。因此,您无法将密码自动输入到登录表单中。

此外,Microsoft帐户表单受CSRF verification的约束,阻止您从Microsoft发送的页面(即您的HTML文件)登录。

此外,您要实现的目标正是提供某种浏览器集成的密码管理器的目的。