asp.net mvc - c# mvc:接收https post,编写cookie并转发到http端点
本文关键字:mvc cookie 转发 编写 端点 http post net https 接收 asp | 更新日期: 2023-09-27 17:51:04
我正在尝试设置一个https端点来接收POST请求,设置cookie并将其转发到使用。net中的MVC框架的HTTP端点。
public class MyController : Controller
{
[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
[AllowAnonymous]
public ActionResult HttpsPostMessageProcessor()
{
//Process the Post Message. write cookies
System.Web.HttpContext.Current.Response.AddHeader("cookieName", "cookieVal");
// Forward to http endpoint
Redirect("http://myhttpendpoint.com");
}
}
当我用post请求点击https://myhttpendpoint.com/MyController/HttpsPostMessageProcessor时,我可以看到请求正在到达重定向调用,但浏览器重定向到https://myhttpendpoint.com/而不是http端点。
我在某处读到HTTPS帖子不能重定向到HTTP。有人能解释一下原因吗?还有,有没有变通的办法?
我不希望整个网站是https。我想重定向到http,只要我处理HTTPS Post消息。
PS:我试过使用:
System.Web.HttpContext.Current.Response.Buffer = true;
和
System.Web.HttpContext.Current.Response.Redirect(ruUri.AbsoluteUri);
但这给了我错误,"服务器不能在HTTP头发送后附加头。"
任何帮助都是感激的!谢谢!
你可能想用javascript写一个视图,重定向到非ssl url。
window.top.location = 'http://myhttpendpoint.com';
如果你用ssl发送请求,浏览器打算使用ssl。除非您有客户端操作或脚本重定向到非ssl。