有没有办法知道HttpResponse是否在Https中?

时间:2012-06-22 15:17:44

标签: c# .net https

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

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

感谢。

编辑:

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

这应该可以满足您的需求;

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

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

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

答案 2 :(得分:0)

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