下载一个由javascript生成POST参数的主页

Download a homepage where a POST argument is beeing generated from javascript

本文关键字:POST 生成 参数 主页 javascript 一个 下载      更新时间:2023-09-26

做了很多研究,但遗憾的是,现在我完全陷入了困境。

我需要下载一个html页面:为此,我在公式中填写不同的数据,然后单击提交按钮,然后我想保存回复。

使用Firebug,我可以看到我的数据已经填写完毕并通过POST发送。不幸的是,还有一个参数我无法追踪它是如何生成的,如果没有最后一个参数,我不会得到足够的html响应,而是一个错误页面。

wget和curl(cookie、useragent、header、referrer)在没有最后一个参数的情况下失败!

我不太熟悉jquery和javascript,所以我不知道数据来自哪里,但如果浏览器知道的话,我也应该能够!

我发现这是类似的,只是我的似乎更难,因为字段是生成的:wget:在发送后数据之前获取字段信息

就我而言,我将其追溯到:

<script type="text/javascript">
$(document).ready(function(){
$.get('/getmyData.asp?str=erServiceXUVC',function(string){
$('#oikuZR').append('<input type="hidden" name="lsXUVp" value="'+ string +'">');
});
});
</script>

与使用真正的浏览器和wget(即使使用用户代理和其他东西)的区别在于,我无法访问这个值,如果我使用普通浏览器,就会显示这个值。

<input type="hidden" value="34928321" name="lsXUVp">

这正是我需要的值(与firebug POST相比)!但是

我的知识到此结束。

  • 在代码中找不到"34928321"
  • "#oikuZR"没有出现在firebug的DOM列表中,但可能我做错了什么(有数千个条目)
  • 调试上面的脚本时,我可以看到字符串=34928321作为局部变量,但我看不出函数是从哪里调用的
  • 如果我打开www.homepage.com/getmyData.asp?str=erServiceXUVC(带或不带params)只有一个错误页面

考虑过使用Splash作为代理为我运行javascript,然后创建该页面,但由于我还不了解其机制,我对此表示怀疑。

那么我该怎么办呢?

也许是一个支持javascript的浏览器,可以接受命令行中的命令:打开、填写、发送、保存Html?替代方案?wget的解决方案(最受欢迎!)?

我认为添加这个调用是为了防止(或者至少让你更难)做你想做的事情。

诀窍就在这一行:

$.get('/getmyData.asp?str=erServiceXUVC',function(string){
   ..
});

此行执行AJAX请求。当请求成功时,将调用回调函数,并将响应传递到参数string中。

因此,通过这个请求,生成了一个代码,然后将其与表单一起发布。如果不检查实际环境,我无法确定,但我认为AJAX请求取决于会话(可能通过cookie)。如果没有该会话,它可能会生成一条错误消息。

因此,要解决此问题,您必须获取页面及其附带的任何cookie。然后,在请求代码时,使用相同的cookie,这样服务器将在同一会话中看到该请求。

这很可能是防止垃圾邮件机器人滥用表单的一个技巧。因此,很难猜测还有什么其他技巧,以及还需要什么才能让它发挥作用。