代码之家  ›  专栏  ›  技术社区  ›  Scott Chamberlain

从httpwebspose流中检索数据然后添加文本的正确方法

  •  0
  • Scott Chamberlain  · 技术社区  · 15 年前

    我正在尝试检索网页,在网页顶部添加一些文本,然后我将发送字符串。下面是一个我正在尝试做的框架示例。这是正确的方法还是我在某个地方做了一个大的“不”呢?

    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());
    
    2 回复  |  直到 8 年前
        1
  •  1
  •   codykrieger    15 年前

    您需要使用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>") ...
    

    这样的代码也少了一点。

        2
  •  0
  •   joelt    15 年前

    在某些时候,您可能需要调用respone.close()和reader.close()。