src/Orchard.Web/Modules/Orchard.Warmup/Services/WebDownloader.cs
(完整代码) 1KBusing System;
using System.IO;
using System.Net;
using Orchard.Logging;
namespace Orchard.Warmup.Services {
public class WebDownloader : IWebDownloader {
public WebDownloader() {
Logger = NullLogger.Instance;
}
public ILogger Logger { get; set; }
public DownloadResult Download(string url) {
if(String.IsNullOrWhiteSpace(url)) {
return null;
}
try {
var request = WebRequest.Create(url) as HttpWebRequest;
if (request != null) {
using (var response = request.GetResponse() as HttpWebResponse) {
if (response != null) {
using (var stream = response.GetResponseStream()) {
if (stream != null) {
using (var sr = new StreamReader(stream)) {
return new DownloadResult {Content = sr.ReadToEnd(), StatusCode = response.StatusCode};
}
}
}
}
}
}
return null;
}
catch (WebException e) {
if(e.Response as HttpWebResponse != null) {
return new DownloadResult { StatusCode = ((HttpWebResponse)e.Response).StatusCode };
}
return null;
}
catch(Exception e) {
Logger.Error(e, "An error occured while downloading url: {0}", url);
return null;
}
}
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
