Java 在线将用户名和密码放入特定的标记中
我正在为一所大学构建一个桌面客户端,允许他们在校园内创建所有电源的仪表板。这项技术已经到位,该公司已经提供了一个网站来查看所有这些内容,但您一次只能查看一个,这变得非常烦人。我的工作是设计一个桌面应用程序,让他们使用正确的凭据登录,然后立即显示所有内容 我的问题是,我想把他们输入的用户名和密码输入到一个网站。以下是我在他们网站上使用的代码:Java 在线将用户名和密码放入特定的标记中,java,html,jframe,jsoup,Java,Html,Jframe,Jsoup,我正在为一所大学构建一个桌面客户端,允许他们在校园内创建所有电源的仪表板。这项技术已经到位,该公司已经提供了一个网站来查看所有这些内容,但您一次只能查看一个,这变得非常烦人。我的工作是设计一个桌面应用程序,让他们使用正确的凭据登录,然后立即显示所有内容 我的问题是,我想把他们输入的用户名和密码输入到一个网站。以下是我在他们网站上使用的代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Log On</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<link href="core.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
function placeFocus() {
if (document.forms.length > 0) {
var field = document.forms[0];
for (i = 0; i < field.length; i++) {
if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea")) {
document.forms[0].elements[i].focus();
break;
}
}
}
}
</script>
</head>
<body OnLoad="placeFocus()">
<table cellpadding="0" cellspacing="0" id="message">
<tr>
<td class="edging"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="msg">
<form method="post" action="/Forms/login1" name="HashForm1">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="27%" class="dataName" noWrap><span id="langUsername">User Name</span>: </td>
<td width="73%"><input type="text" name="login_username" size="17" maxlength="64" value="" />
</td>
</tr>
<tr>
<td class="dataName" noWrap><span id="langPassword">Password</span>: </td>
<td><input type="password" name="login_password" size="17" maxlength="64" value="" />
</td>
</tr>
<tr>
<td class="dataName" noWrap><span id="langLanguage">Language</span>: </td>
<td><select name="prefLanguage" size="1">
<option value=00000000 selected="true">English
</select></td>
</tr>
<tr>
<td colspan="2" class="applyCancel"><input type="submit" name="submit" value="Log On" class="btn" />
<input type="reset" value="Reset" />
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</body>
</html>
用户信息:
package resourcemonitor;
//this is a simple handler class where
//the information of the user can be saved
//so that it can be used later
public class UserInformation {
private String name, password;
public UserInformation(){
//empty constructor
}
public String getPassword(){
return password;
}
public String getUserName(){
return name;
}
public void setUserName(String m){
this.name = m;
}
public void setPassword(String n){
this.password = n;
}
}
我从这里下载了jsoup
我知道这真的很长,但我真的很感谢任何和所有的帮助 您需要做的是创建一个表单,其中的表单数据作为参数。JSoup可以做到这一点
Document doc = Jsoup.connect("the.url")
.data("login_username", whatever)
.data("password", thpass)
.post();
到目前为止,我没有深入研究你的问题。如果你需要更多的帮助,请主动提出
可能您需要读出作为响应得到的cookies,并将它们设置为任何进一步的请求
也许更好的选择是使用完整的哦,哇,哈哈,我应该读一下jsoup的javadoc。。。我还没有试过,但我应该在东部时间晚上结束前试过。我不知道jsoup在这件事上想得那么远。非常感谢你的帮助!我会让你知道事情的进展!
package resourcemonitor;
public class Login {
public static boolean authenticate(String username, String password) {
// hardcoded username and password
if (username.equals("user") && password.equals("pass")) {
return true;
}
return false;
}
}
package resourcemonitor;
//this is a simple handler class where
//the information of the user can be saved
//so that it can be used later
public class UserInformation {
private String name, password;
public UserInformation(){
//empty constructor
}
public String getPassword(){
return password;
}
public String getUserName(){
return name;
}
public void setUserName(String m){
this.name = m;
}
public void setPassword(String n){
this.password = n;
}
}
Document doc = Jsoup.connect("the.url")
.data("login_username", whatever)
.data("password", thpass)
.post();