2014-04-07 5 views
0

아래와 같이 테스트 목적으로 IP 주소를 하드 코딩하고 있습니다. 나는 API의 응답을 얻을사용자로부터 IP 주소 받기

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; 
    } 

: API로부터 응답을

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 도우미 :

string country = GetCountryByIP("173.194.113.23"); 

지금 여기에 IP 주소에 던져 내 GetCountryByIP 방법입니다 XML에서 잘못된 IP 주소라고 말합니다. 디버그 모드에서 url 및 ip 주소는 두 방법 모두의 매개 변수로 제대로 전달됩니다. 내 브라우저의 주소 표시 줄에 적절한 URL과 IP 주소를 테스트하고 제대로 작동합니다. 제대로 작동합니다.

아이디어가 있으십니까?

답변

1

실례합니다. 기록 된 경우 :

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

string checkURL = url + ipAddress; 

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

문제는이했다