-1

我有这段代码:

WebClient web = new WebClient();
System.IO.Stream stream = web.OpenRead("http://url/getAddress.html");
string text = "";
using (System.IO.StreamReader reader = new System.IO.StreamReader(stream))
{
     text = reader.ReadToEnd();
     reader.Close();
}

HTML 中的结果是 IP 地址,但是当我尝试将此结果保存到数据库中时,返回的结果是 Web 请求的整个 html 页面。我究竟做错了什么?

例子:

文本有结果

如果我这样做,Response.Write(text);它会返回:111.222.33.3

如果我尝试保存返回值的变量文本,这将保存 Web 请求页面中的整个 html 内容。

4

2 回答 2

4

您是否意识到,如果您写入Response对象,就会在网页上格式化 HTML?这只是格式化您从网页收到的 HTML。您需要解析获得的 HTML 以获取您正在寻找的实际数据,采用您想要的格式。

于 2012-07-24T15:04:43.947 回答
-1
public static String GetIP()
{
    String ip = 
        HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

    if (string.IsNullOrEmpty(ip))
    {
        ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
    }

    return ip;
}

我找到了这个解决方案,非常适合我想要的

于 2012-07-24T15:35:17.630 回答