我试图用Java编写一个简单的自动登录程序。 登录页面是" login.php" (不是我的!),它有以下形式:
<form action="login.php" method="post" name="FormLogin" onsubmit="return validalogin();">
<div class="mainContentTitolo1">Inserisci i dati</div>
<div class="table">
<div class="tr">
<div class="th">
<label for="username">Nome Utente.</label>
</div>
<div class="td">
<input type="text" name="username" id="username" accesskey="m" tabindex="1" size="20" maxlength="16" value=""/>
</div>
</div>
<div class="tr">
<div class="th">
<label for="password">Password</label>
</div>
<div class="td">
<input type="password" name="password" id="password" accesskey="p" tabindex="2" size="20" maxlength="16" value=""/>
</div>
</div>
<input type="hidden" name="refer" value="$refer" />
<input type="hidden" name="invio" value="1" />
<div class="tr">
<div class="tdcolspanallcenter">
<input type="image" src="../../images/conferma.gif" tabindex="3" alt="Conferma login" onclick="return validalogin();" />
</div>
</div>
<div class="tr">
<div class="tdcolspanallcenter">Collegati
</div>
</div>
</div>
</form>
很遗憾,我无法填写&#34;用户名&#34;和#34;密码&#34;领域。 我尝试使用链接(使用CookieHandler和HttpURLConnection类),如:
https://.../login.php?username=BROWN&password=FOX
但只有&#34;用户名&#34;现场结果填写,我收到了错误的Cookie。 在浏览器&#34;源代码&#34;我可以看到结果:
[...]
<input type="text" name="username" id="username" accesskey="m" tabindex="1" size="20" maxlength="16" value="BROWN"/>
[...]
<input type="password" name="password" id="password" accesskey="p" tabindex="2" size="20" maxlength="16" value=""/>
[...]
问题出在哪里?
答案 0 :(得分:0)
浏览器不允许您使用Cookie或URL传递密码字段(类型)值,如果它们对机器人来说是天堂:)。
如果您坚持使用URL中的参数自动填写密码字段,请将其更改为<input type="text" name="password" id="password" accesskey="p" tabindex="2" size="20" maxlength="16" value=""/>
,因为无论如何每个人都可以在URL中看到密码