【发布时间】:2013-03-02 12:23:08
【问题描述】:
class AdvancedWebRequest : HttpWebRequest {
private static readonly ILog log = log4net.LogManager.GetLogger(typeof(AdvancedWebRequest));
public AdvancedWebRequest(string url, CookieContainer cookies = null) {
Create(url);
UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22";
Referer = Address.AbsoluteUri;
if (cookies == null) {
CookieContainer = Program.request.CookieContainer;
} else {
CookieContainer = cookies;
}
}
}
这是我想做的事情,所以基本上获取已经设置了一些变量的HttpWebRequest,所以我不能总是自己设置它们。
得到错误:
'System.Net.HttpWebRequest.HttpWebRequest()' is obsolete: 'This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.' \Extensions\AdvancedWebRequest.cs 14 10
有什么建议,HttpWebRequest真的不能扩展吗?
【问题讨论】:
-
真的需要继承HttpWebRequest类吗?对于一些工作,我创建了一些函数来简化 HttpWebRequests,也许它对你有用:gist.github.com/anonymous/4347248
-
@Tearsdontfalls :继承它会非常好,因为从
WebRequest我根本无法设置cookies、referer、useragent。 -
好的,那么你可以试试扩展方法 msdn.microsoft.com/en-us/library/vstudio/bb383977.aspx
-
@Tearsdontfall :这是我不知道的好功能,您可以将其发布为答案,因为我相信有人会喜欢该解决方案。
标签: c# .net httpwebrequest