1

在一个方法中,我需要知道响应是在 Http 还是在 Https 中,以便重定向响应或进行 BinaryWrite 但我只有一个 HttpResponse 参数。

任何人都知道是否可以使用 HttpResponse 知道这一点?

谢谢。

编辑:

我想知道是否有可能知道 HttpResponse 是 HTTP 还是 HTTPS,因为如果可能的话,我不喜欢使用 HttpContext.Current.Request。

4

3 回答 3

1

我不相信。您可以从HttpRequest中找到,但响应只是与请求相关的返回数据流。

于 2012-06-22T15:22:42.877 回答
1

这应该给你你所需要的;

System.Uri currentUrl = System.Web.HttpContext.Current.Request.Url;

if (!currentUrl.Scheme.Equals(Uri.UriSchemeHttps, stringComparison.CurrentCultureIgnoreCase))
{
  //Do something here
}

不可能从 HttpResponse 对象中提取此信息,因为这将通过可能请求请求的相同通信协议发送回客户端。您将需要使用 Request 对象来检查 SSL 连接。

于 2012-06-22T15:23:04.697 回答
1

HttpRequest.IsSecureConnection 属性将完成这项工作,请查看 MS 链接 http://msdn.microsoft.com/en-us/library/system.web.httprequest.issecureconnection(v=vs.110).aspx上的示例

于 2012-06-22T16:14:09.010 回答