作为一个例子,我试图GetResponse()
改变HttpWebRequest
class HttpWebRequest_Override : HttpWebRequest
{
public HttpWebRequest_Override(System.Runtime.Serialization.SerializationInfo SerializationInfo, System.Runtime.Serialization.StreamingContext StreamingContext)
: base(SerializationInfo, StreamingContext) { }
public override WebResponse GetResponse()
{
//Edit GetResponse() code here.
}
}
但是我找不到GetResponse()
任何地方的标准代码。我应该从头开始写一个吗?我想复制+粘贴原始代码,然后对其进行更改。我已经尝试过查看这里,但这并没有太大帮助。
为了测试我是否走在正确的轨道上,我注释掉GetResponse()
并尝试按HttpWebRequest_Override
原样使用(只有构造函数)。
然后像这样使用它:
public static string DownloadText(string url)
{
try
{
var request = (HttpWebRequest_Override)WebRequest.Create(url);
request.Proxy = null;
var response = (HttpWebResponse)request.GetResponse();
using (var reader = new StreamReader(response.GetResponseStream()))
{
return reader.ReadToEnd();
}
}
catch (Exception ex) { return "error_program : "+ex.Message; }
}
但这会引发错误:
Unable to cast object of type 'System.Net.HttpWebRequest' to type 'bulktest.HttpWebRequest_Override'.
所以两个问题:
为什么类不工作,我在哪里可以找到 .NET 类的代码以便我可以更改它们?