作者tsaiedward (菜渣)
看板java
标题[问题] 登入网页并存取资料
时间Tue Apr 12 00:18:38 2016
各位前辈好,小弟这学期才开始写Java,还算是新手,还请多多指教
最近兴起了想要开始研究Android App的念头
打算从写个登入我们学校的网路大学,并存取登入後的资料的App开始下手
然而光是在研究怎麽登入这一步就卡住了
不才其实基本上一点HTML或是Javascript的基础都没有,
在网页source code里面撞了许久,摸索了些头绪,可是有些迷惑,因此前来向前辈们讨教
目前我找到的 我以为是送出登入帐密的source code是这里
<form autocomplete="off" method="post"
action="
http://cu.nsysu.edu.tw/login.php" id="loginForm" name="loginForm"
onsubmit="return checkLogin();" target="_self">
而checkLogin()写在login.js内,code如下
function checkLogin()
{
/*
if (typeof MSG_NEED_USERNAME == "undefined")
var MSG_NEED_USERNAME = "Please fill username";
if (typeof MSG_NEED_PASSWORD == "undefined")
var MSG_NEED_PASSWORD = "Please fill password";
*/
var node = document.getElementById("loginForm");
if (node == null) return false;
if (node.username.value == "")
{
alert(MSG_NEED_USERNAME);
node.username.focus();
return false;
}
if (node.password.value == "")
{
alert(MSG_NEED_PASSWORD);
node.password.focus();
return false;
}
else
{
var pwdmask = "********************************";
/* NSYSU客制 begin 修正密码加密方式(因为本身不存密码, 到後端会解不开) */
// var md5key = MD5(node.password.value);
// var cypkey = md5key.substr(0,4) + node.login_key.value.substr(0,4);
var cypkey = node.login_key.value.substr(0,8);
/* NSYSU客制 begin end */
node.encrypt_pwd.value = stringToBase64(des(cypkey, node.password.value, 1));
node.password.value = pwdmask.substr(0,node.password.value.length);
}
return true;
}
小弟想知道的是 :
1. 我目前的认知有没有错误
2. 假如我要进行"送出帐密并登入"的动作,是要使用httpclient去对应loginForm
像
https://webptt.com/cn.aspx?n=bbs/java/M.1206936382.A.D75.html 这篇这样吗 ?
3. 假如2没有错的话,那麽登入後的资料抓取也是透过使用httpclient吗 ?
恳请各位前辈协助解惑,感恩
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.117.180.34
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1460391521.A.B6A.html
1F:推 kiwatami: 其实就是知道要传什麽值到什麽栏位,传到哪个页面 04/12 07:51
2F:→ kiwatami: 然後打开cookiestore的功能 以你这个例子 04/12 07:51
3F:→ kiwatami: 就是先将密码加密後才传送 其他可能还有一些验证用栏位 04/12 07:51
4F:→ kiwatami: 也要一并传送 因为那就是避免机器人的栏位 04/12 07:51
5F:→ kiwatami: 如果是用Ajax产生的值 那你还需要找可以执行js的套件 04/12 07:51
6F:→ kiwatami: 重点是你要猜到他们在server端做了什麽处理与验证 04/12 07:51
7F:→ kiwatami: 不论正确与否记得将结果output出来 04/12 07:51
8F:→ kiwatami: 登入後就跟一般爬网页一样了 04/12 07:51
9F:推 aw038: 借问,後学目前也在研究这个,传送帐密过去但回传500状态码 04/13 00:59
10F:→ aw038: ,因此我在想是不是因为没有加密传过去,想请问各位先学如 04/13 00:59
11F:→ aw038: 何处理? 04/13 00:59
12F:推 swallowcc: 500应该是exception了,抓log出来看死在哪一句吧... 04/13 01:55