Url rewriting IIS URL重写-将帖子转换为获取

Url rewriting IIS URL重写-将帖子转换为获取,url-rewriting,iis-7.5,http-post,http-get,Url Rewriting,Iis 7.5,Http Post,Http Get,在我的应用程序中,有一个客户端和一个WCf REST服务。为了调用某个wcf服务,客户机正在执行http POST,即使该服务是GET 我不想对客户端或服务进行任何更改 因此,有没有一种方法可以转换此POST请求,以获取作为POST传入的数据并将其添加到URL,然后调用REST服务 提前感谢。您可以使用URL重写发出3xx重定向,该重定向将使用GET方法,但您将丢失所有POST数据 我所知道的唯一安全的方法是将POST请求重写到另一个自定义页面,其中您: 收集所有POST数据/变量 将它们转换

在我的应用程序中,有一个客户端和一个WCf REST服务。为了调用某个wcf服务,客户机正在执行http POST,即使该服务是GET

我不想对客户端或服务进行任何更改

因此,有没有一种方法可以转换此POST请求,以获取作为POST传入的数据并将其添加到URL,然后调用REST服务


提前感谢。

您可以使用URL重写发出3xx重定向,该重定向将使用GET方法,但您将丢失所有POST数据

我所知道的唯一安全的方法是将POST请求重写到另一个自定义页面,其中您:

  • 收集所有POST数据/变量
  • 将它们转换为GET变量(组装适当的GET请求)
  • 问题301(或302)重定向到正确的URL(它将所有POST数据作为GET变量发送)
这种对自定义页面的重写应该很容易——您需要检查使用了什么方法(POST或GET),并且只在POST时调用它。其余部分将在该帖子中处理以获取脚本


所有这些复杂性的原因在于POST和GET请求的工作方式不同:GET将所有数据作为URL的一部分发送,而POST使用请求体传输变量的数据。

您可以使用URL重写发出3xx重定向,该重定向将使用GET方法,但您将丢失所有POST数据

我所知道的唯一安全的方法是将POST请求重写到另一个自定义页面,其中您:

  • 收集所有POST数据/变量
  • 将它们转换为GET变量(组装适当的GET请求)
  • 问题301(或302)重定向到正确的URL(它将所有POST数据作为GET变量发送)
这种对自定义页面的重写应该很容易——您需要检查使用了什么方法(POST或GET),并且只在POST时调用它。其余部分将在该帖子中处理以获取脚本


所有这些复杂性的原因在于POST和GET请求的工作方式不同:GET将所有数据作为URL的一部分发送,而POST使用请求体传输变量的数据。

是否有必要使用定制的HttpHandler来实现这一点?也许——不幸的是,我不是.NET人员,不会在这方面为您提供建议。是否有这样的方法使用定制的HttpHandler来做这件事吗?也许——不幸的是,我不是一个.NET的人,不会在这方面给你建议。