c# - 创建没有http或https

时间:2017-03-22 11:55:22

标签: c# httpwebrequest

我想要使用c#的X-Frame-Options。 为此,我创建如下。

  HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(System.Uri.UnescapeDataString(url));
            string frameSupport = string.Empty;
            using (WebResponse webResponse = request.GetResponse())
                frameSupport = webResponse.Headers["X-Frame-Options"];

但是当我在没有http或https的情况下传递网址时,我遇到了以下问题。

Unable to cast object of type 'System.Net.FileWebRequest' to type 'System.Net.HttpWebRequest'.

1 个答案:

答案 0 :(得分:2)

如果您使用HttpWebRequest.Create,则实际上是在呼叫WebRequest.Create(因为HttpWebRequest延伸WebRequest)。 因此,该方法不仅适用于http请求,还会尝试根据uri方案获取请求的实际类型。
如果省略http(s)方案,它无法知道您正在执行的请求类型,因此,在这种情况下,它假定它是FileWebRequest