以编程方式POST一个HTML表单并显示响应

时间:2011-09-07 11:19:13

标签: asp.net

我需要使用表单准备ASP.NET站点,在后面的代码中填写表单,然后将表单提交到外部站点。

例如:用户打开www.myshop.com/pay.aspx,他不需要填写任何内容,因为我在后面的代码中填写表单值,然后用户自动重定向到外部站点www.onlinepayments.com(带表单) POST中发送的数据。)

我能够使用常规的隐藏表单和提交表单的javascript,但我不喜欢这种方式(用户可以看到HTML)。

所以我在代码中使用了WebRequest类,就像在这个答案中一样:How do you programmatically fill in a form and 'POST' a web page?

但是在这个答案中,Response是字符串(目标站点html)。这个字符串怎么办?我希望我的用户看到与常规html POST一样的目标站点(conent和URL)。

3 个答案:

答案 0 :(得分:0)

您收到响应html为字符串 - 您可以随意使用它(包括将html呈现给您的页面,或者您可以在呈现之前自定义html等等)

答案 1 :(得分:0)

这取决于目标网站的工作方式。如果结果页面是静态的,那么在以编程方式完成Response.Redirect之后,您只需POST您的用户。如果页面是根据某个会话或cookie值显示的,那么您无法真正重定向它们。

答案 2 :(得分:0)

好的,在这种情况下,你可以做的是更改FORM标签的动作参数。这将向其他表单发送POST请求,其中包含所有表单变量。新表单将挖掘出那些POST变量并用它们做它需要的东西