我想写一个程序,登录我学校的网站,检查我应该知道的更新。我是JavaScript的新手。我查看了登录页面的源代码,看来用户名和密码是使用action
属性发送的。 (我试图找到按下按钮时调用的JavaScript函数,但失败。还将action属性设置为一个值。)我理论如果我有我的登录凭据,那么如果我知道发送到服务器进行验证的数据格式,我可以编写模仿登录页面操作的交流程序。如何看待发送的内容?
以下是网站代码:
<form action="http://[myschoolsdomainname].edu/login/index.php" method="post" id="login">
<div class="loginform">
<div class="form-label"><label for="username">Username</label></div>
<div class="form-input">
<input name="username" id="username" size="15" value="815008955" type="text">
</div>
<div class="clearer"><!-- --></div>
<div class="form-label"><label for="password">Password</label></div>
<div class="form-input">
<input name="password" id="password" size="15" value="" type="password">
<input value="Login" type="submit">
<input name="testcookies" value="1" type="hidden">
</div>
<div class="clearer"><!-- --></div>
</div>
</form>
N.B。我不想做任何恶意的事情,我只是想自动定期检查网站(使用C或Java)来查看是否已发布家庭作业。我喜欢编码,我很好奇我是否可以这样做,但我不知道从哪里开始。
答案 0 :(得分:0)
我同意Nick Delaney - Chrome上的网络标签(在Mac Option+Cmd+i
上)会显示您想要查看的内容。单击打开的面板顶部的“网络”,然后选中“保留日志”复选框(如果不这样做,则整页加载将清除历史记录)。
您应该能够看到登录到站点并呈现后续页面的所有HTTP请求。 CSRF可能是也可能不是问题,但只有实验会告诉你。
例如,这是strava.com(一个用于跟踪健身活动的热门网站)的登录请求。这告诉我有一个表单帖子通过email
,password
,authenticity_token
(嗯,想知道这是什么?:),utf8
和remember_me
字段。成功的回复是302 redirect到https://www.strava.com/dashboard,它还会设置一些Cookie。
如果我按照重定向(浏览器自动为我们这样做)并查看仪表板HTTP请求(在当前突出显示的请求下方),我将看到代表已登录的strava用户的仪表板页面的HTML(我) 。如果我想要的数据在仪表板上,那么挑战就是在重定向之后(使用登录请求中设置的cookie)进行“正确”登录请求并解析响应。