强制页面POST

时间:2013-01-25 22:56:46

标签: asp.net-mvc cross-domain

这可能是一个非常不寻常的问题,但基本上有另一个域的页面(我可以查看,但无法编辑/更改)有一个按钮。单击该按钮时,它会生成一些唯一键。

我需要使用我的Web服务(使用ASP .NET MVC3)来获取这些唯一键我可以获取页面的初始HTML,但是如何强制页面“单击”按钮以便我可以获得POST后的值?

通常,我会重复使用代码来自己生成密钥,但我无法访问逻辑。

我希望这是有道理的。

2 个答案:

答案 0 :(得分:2)

使用例如firebug用于查看与表单一起发送的POST参数,然后从代码中生成相同的POST。 为此,您可以使用WebRequestWebClient。 请参阅此SO问题,以帮助您完成此操作:

然后只使用您选择的技术解析响应(如果响应格式正确,我会使用正则表达式 - Regex或LinqToXml。)

注意:请记住,您的代码将依赖于您未维护的某些服务。因此,当服务不可用,已停止或POST文件或响应的格式将被更改时,您可能会遇到问题。

答案 1 :(得分:0)

这实际上取决于目标网站上的技术。

如果页面是简单的HTML表单,那么您可以轻松发送POST。您需要将预期的数据发送到POST。然后你可以解析数据。

如果不是那么直接,您将需要研究自动化点击的方法。检查Selenium。如果结果页面混乱,您可能还需要使用报废。