我需要使用表单准备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)。
答案 0 :(得分:0)
您收到响应html为字符串 - 您可以随意使用它(包括将html呈现给您的页面,或者您可以在呈现之前自定义html等等)
答案 1 :(得分:0)
这取决于目标网站的工作方式。如果结果页面是静态的,那么在以编程方式完成Response.Redirect
之后,您只需POST
您的用户。如果页面是根据某个会话或cookie值显示的,那么您无法真正重定向它们。
答案 2 :(得分:0)
好的,在这种情况下,你可以做的是更改FORM标签的动作参数。这将向其他表单发送POST请求,其中包含所有表单变量。新表单将挖掘出那些POST变量并用它们做它需要的东西