我在患者门户网站上有一个帐户,我可以在该帐户中搜索预约的可用日期,然后通过医生预约访问。虽然可用的日期非常少,所以我最终进入门户网站并刷新搜索,这非常令人厌烦。我已经考虑了一下,并想出一个可以在某个VPS上运行脚本的想法,它将代表我定期发送带有伪造数据的表格以及我感兴趣的可用日期来了,我会收到电子邮件通知。
我对html和javascript了解不多,但我在页面源中找到的是:
按钮搜索调用FilterFormSubmit():
<input type="submit" class="button pretty" onclick=" javascript: FilterFormSubmit(); return false;" value="Search">
此函数如下所示:
<script type="text/javascript">
function FilterFormSubmit() {
var searchVisitsBreakdownReservation = 'false' == 'true' ? true : false;
if (!searchVisitsBreakdownReservation) {
window.isMyLink = true;
$("#advancedResevation").submit();
return true;
} else {
$("#SearchVisitsBreakdownReservation").show();
return false;
}
}
</script>
在这一步中,我被困住了:我不明白这句话$("#advancedResevation").submit();
的作用。
我的下一步是分析wireshark中的数据包。我以为我可以制作数据包,我可以将其发送到患者门户服务器,接收响应,然后以适当的方式解析响应,但遗憾的是,数据包是由TLSv1.1发送的。
我的问题是:我应该学习什么以及在哪里搜索以使我的想法成真?
答案 0 :(得分:0)
onclick=" javascript: FilterFormSubmit();
错了。 onclick
的内容是ALREADY javascript。它应该只是
onclick="FilterFormSubmit; return false"
javascript伪网址用于href
:
<a href="javascript:FilterFormSubmit();">
^^^^
答案 1 :(得分:0)
您可以学习Selenium和dom元素查找(xpath,css选择器)。这样,您就不需要探测网站的js资源或请求的详细信息。
或者使用firebug(firefox的扩展名)等工具来获取已提交请求的详细信息。然后你可以在没有浏览器的情况下伪造请求。