Asp.net永久重定向主体,路径,QueryString,方法

本文关键字:路径 QueryString 方法 主体 重定向 net Asp | 更新日期: 2023-09-27 18:00:53

在我的场景中。

我想将所有请求重定向到另一个域,包括Path,QueryStrings,Method,Content

示例一些用户向我的域发送请求。

POST www.mydomain.com/service?id=5
HEADER { 
token:securityToken
UserAgent: Chrome
Accept: application/json
}
BODY
{
Content lorem ipsum
}

我将检查一些参数并更改标头中的标记。

然后

我想将此请求发送到另一个域。

POST www.anotherdomain.com/service?id=5
HEADER {
token:newsecurityToken
UserAgent: Chrome
Accept: application/json
}
BODY
{
Content lorem ipsum
}

最后

用户将获得另一个域的响应。有可能吗?

服务器:Windows Server 2008.Net框架:4.0

感谢

Asp.net永久重定向主体,路径,QueryString,方法

如果您想通过您的域返回请求,最好是向外部域发出自己的请求。我会提供更多关于如何使用的细节,但我不知道你使用的是什么版本的.net。这里有一篇文章概述了一种方法。

在asp.net中中继请求(转发请求(

它基本上说创建一个新的WebRequest,设置相关属性,获取响应,并将响应中的信息发送回用户。

我觉得我不得不问这个问题,你确定你不是想钓鱼什么的吗?转念一想,没关系。(

更新:

由于你不需要它来通过你的域,我建议使用301重定向。这里有一个帖子,有人在开始请求中这样做

asp.net 4.0 中的301重定向

void Application_BeginRequest(object sender, EventArgs e) 
{
    // Code that runs on every request
    if (HttpContext.Current.Request.Url.ToString().ToLower().Contains("http://website.net"))
    {
        HttpContext.Current.Response.Status = "301 Moved Permanently";
        HttpContext.Current.Response.AddHeader("Location", Request.Url.ToString().ToLower().Replace("http://website.net", "http://www.website.net"));
    }
}

请注意,如果没有任何复杂的逻辑来确定是否要重定向,那么这篇文章还提供了一种通过web.config中的url重写来实现的方法。

因为我以前从未见过这种方法,所以抛出一个想法,难道有什么原因不能使用SOAP Web服务来实现这一点吗?

将值传递给对象到Web服务Web方法C#

它们或多或少是为这类事情而创造的,会让你的生活轻松很多。否则,您可以使用URL参数

Asp.net在url字符串中添加参数

或者,只需使用POST&适当地获取请求。POST到域B&让一个监听器等待POST解析这些值。我会选择网络服务,它们比看起来更容易。