コード例 #1
0
        private bool UrlExists(string basePath, string resource, UrlRequestOptions options)
        {
            var path    = Url.Combine(basePath, resource);
            var request = (HttpWebRequest)WebRequest.Create(path);

            request.Method  = "HEAD";
            request.Timeout = 5000;
            try
            {
                request.GetResponse();
                request.Abort();
            }
            catch (WebException ex)
            {
                if (ex.Response is HttpWebResponse response)
                {
                    if (options.HasFlag(UrlRequestOptions.AllowBadRequest) &&
                        response.StatusCode == HttpStatusCode.BadRequest)
                    {
                        return(true);
                    }

                    if (options.HasFlag(UrlRequestOptions.AllowForbiddenRequest) &&
                        response.StatusCode == HttpStatusCode.Forbidden)
                    {
                        return(true);
                    }
                }

                return(false);
            }
            return(true);
        }
コード例 #2
0
 public bool UrlExists(string resource, UrlRequestOptions options)
 {
     return(UrlExists(RawFilesPathBase, resource, options));
 }