获取Ip地址C#,asp.net的位置

时间:2012-10-20 15:57:18

标签: c# asp.net xml

我正在使用此代码根据IP地址检索用户位置。它不会返回任何位置,国家/地区代码...除了IP之外,数据表中的所有列都是空白的 enter image description here

string i = "aa.b.23.58";
            DataTable dt = GetLocation(i.Trim());
     public DataTable GetLocation(string strIPAddress)
        {
            //Create a WebRequest with the current Ip
        WebRequest _objWebRequest =
            WebRequest.Create("http://freegeoip.appspot.com/xml/"  +strIPAddress);


        //Create a Web Proxy
        WebProxy _objWebProxy =
           new WebProxy("http://freegeoip.appspot.com/xml/"
                     + strIPAddress, true);

        //Assign the proxy to the WebRequest
        _objWebRequest.Proxy = _objWebProxy;

        //Set the timeout in Seconds for the WebRequest
        _objWebRequest.Timeout = 2000;

        try
        {
            //Get the WebResponse 
            WebResponse _objWebResponse = _objWebRequest.GetResponse();
            //Read the Response in a XMLTextReader
            XmlTextReader _objXmlTextReader
                = new XmlTextReader(_objWebResponse.GetResponseStream());

            //Create a new DataSet
            DataSet _objDataSet = new DataSet();
            //Read the Response into the DataSet
            _objDataSet.ReadXml(_objXmlTextReader);

            return _objDataSet.Tables[0];
        }
        catch
        {
            return null;
        }
    } // End of GetLocation 

1 个答案:

答案 0 :(得分:0)

试试这个样本 http://www.codeproject.com/Articles/3265/GeoIP-Where-are-your-internet-visitors-coming-from

可能你在freegeoip.appspot.com上遇到了一些问题

您可以将ip保留在项目中的位置数据库中。