繁体   English   中英

从用户获取IP地址

[英]Getting IP address from User

我正在对IP地址进行硬编码以进行测试,如下所示。

string country = GetCountryByIP("173.194.113.23"); 

现在,这里是我的GetCountryByIP方法,其中的IP地址被抛出:

    public string GetCountryByIP(string ipAddress)
    {
        string ipResponse = IPRequestHelper("http://api.ipinfodb.com/v3/ip-country/?key=(api key deleted for security purposes)&ip=", ipAddress);

        XmlDocument ipInfoXML = new XmlDocument();
        ipInfoXML.LoadXml(ipResponse);
        XmlNodeList responseXML = ipInfoXML.GetElementsByTagName("Response");

        NameValueCollection dataXML = new NameValueCollection();

        dataXML.Add(responseXML.Item(0).ChildNodes[2].InnerText, responseXML.Item(0).ChildNodes[2].Value);

        string xmlValue = dataXML.Keys[0];

        return xmlValue;
    }

和我的IP帮助程序,用于api的响应:

    public string IPRequestHelper(string url, string ipAddress)
    {
        string checkURL = url + ipAddress;

        HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
        HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();

        StreamReader responseStream = new StreamReader(objResponse.GetResponseStream());
        string responseRead = responseStream.ReadToEnd();

        responseStream.Close();
        responseStream.Dispose();

        return responseRead;
    }

我从xml中的api得到响应,说它是无效的IP地址。 在调试模式下,两种方法都将url和ip地址正确传递到参数中。 我在浏览器的地址栏中测试了正确的url和ip地址(对其进行了硬编码),并且可以正常工作。

有任何想法吗?

弄清楚了,对不起。 书写位置:

    string checkURL = url + ipAddress;

    HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);

问题是这样的:

    HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(checkUrl);
                                                                  ^^^^^^^^

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM