我正在尝试检索网页,在页面顶部添加一些文本然后我将发送字符串。这是我想要做的一个示例框架。这是正确的方法,还是我在某处做了一个大禁忌?
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.example.com");
var responce = (HttpWebResponse)request.GetResponse();
var responseStream = responce.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
string responseString = reader.ReadToEnd();
StringBuilder sb = new StringBuilder(responseString);
var index = sb.ToString().IndexOf("<body>", StringComparison.InvariantCultureIgnoreCase)+"<body>".Length;
sb.Insert(index, "A lot of text will go here.");
Console.WriteLine(sb.ToString());
答案 0 :(得分:1)
您是否有任何特殊原因需要使用HttpWebRequest / Response?您也可以像这样使用WebClient类来实现相同的结果:
WebClient web_client = new WebClient();
byte[] result = web_client.DownloadData("http://blah...");
string html = System.Text.Encoding.Default.GetString(result);
html.IndexOf("<body>") ...
这样的代码也少了一点。
答案 1 :(得分:0)
在某些时候,您可能想要调用response.Close()和reader.Close()