捕获目标页面以评估它返回的内容

时间:2012-02-06 16:58:05

标签: javascript asp.net ajax

我们有一个系统允许我们的父母(我在学区工作)访问地区和班级资源。它是第三方产品,是问题的根源。当父母登录时,他们实际上是登录到我构建的站点。我必须对他们的帐户进行一些检查,看看他们是否有权传递到第三方网站。如果他们获得授权,我只需使用适当的父母登录信息进行自动表单提交。

我遇到的问题是我们的供应商不会定期加载新数据。因此,如果学生在我们的一所学校新注册,家长可以登录并授权我,但当我将他们发送到第三方网站时,他们会收到一条错误消息,表明没有学生。我无法查询供应商,看看他们是否允许父母进入。

我需要做的是以“测试”模式运行表单提交给第三方,该模式将在缓冲区中捕获结果页面,以便我可以测试缓冲区中的错误消息。如果存在错误消息,我会将它们放在我身边并向它们提供基本资源。否则,如果错误消息不存在,我需要执行实际表单提交并允许浏览器重定向。可能是一个AJAX解决方案?以下是现有代码:

ASPX页面(是的,我有相应的标题等,这是相关的代码):

<form method="post" name="loginform" action="http://[destination page]" target="_top">
    <input type="hidden" name="username" value="<% =SessionHandler.UserEmail %>" />
    <input type="hidden" name="password" value="<% =SessionHandler.UserPassword %>" />
    <%--<input type="submit" name="Submit" value="Login" />--%>
</form>

Javascript(执行表单提交):

function parentFormSubmit() {
    document.loginform.submit();
}

VB Codebehind:

Protected Sub Page_LoadComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadComplete
    Session.Abandon()
    FormsAuthentication.SignOut()
    Page.ClientScript.RegisterStartupScript(Me.[GetType](), "alert", "parentFormSubmit();", True)
End Sub

1 个答案:

答案 0 :(得分:0)

如果我理解正确的方法是通过使用套接字或WebRequest类来手动执行HTTPPost。

Using the WebRequest Class

Sockets

我会使用WebRequest类,因为它更容易,更快,你可以在网上找到大量的样本。

祝你好运!