2015-01-21 1 views
-1

좋아, 그래서 이것에 관해 여러 차례 봤어,하지만 각 하나 정중하게 괜찮은 선택을 제안 : "셀레늄"은 잘 작동하지만, 파이어 폭스 없이는 사용할 수없는 내 지식에 대한 API?). 오히려, IP 데이터 조회 - C#

 byte[] result = GetFileViaHttp(@"http://ip-lookup.net/"); 
     string str = Encoding.UTF8.GetString(result); 
     richTextBox1.Text = str; 

잘 작동

, 내 IP의 정보를 반환하지만 다른 IP 주소로이 문제를 자동화 할 : 나는이 코드를

다음
public byte[] GetFileViaHttp(string url) 
     { 
      using (WebClient client = new WebClient()) 
      { 
       return client.DownloadData(url); 
      } 
     } 

:

이 코드를 내 자신을 돌려주는 것보다. 어떻게 처리할까요? 내 말은이에 의해 , 나는 API가

방법이 작업을 수행 할 수 있습니다 .. richTextBox1.Text (호스트/국가)에 대한 자세한 txtBox1.Text (IP) & 인쇄를 먹고 싶어?

+1

GetFileViaHttp 호출과 함께 IP 주소를 전달하면됩니다 (대부분). 그러나 외부 리소스이기 때문에 1) 어떻게해야하는지 알려주는 문서와 2) 자동화 된 방식으로이 API를 사용할 법적 권리를 제공하는지 확인해야합니다. –

답변

2

사이트를 둘러 보았고 원하는 내용을 자세히 설명하는 도움말 문서를 찾았습니다.

단순히 익명의 쿼리 문자열 매개 변수로 IP 값을 전달 : 코드에서

http://ip-lookup.net/?127.0.0.1

:

byte[] result = GetFileViaHttp(string.Format("http://ip-lookup.net?{0}", ipAddress)); 

당신이 IPADDRESS 같은 문자열 IP 주소를 주입 곳.

도움말 페이지 here을 찾을 수 있습니다. 법률 계약서를 찾았지만 찾을 수 없었기 때문에 귀하의 책임과 재량에 따라 사용하십시오.

UPDATE :

당신이 403s를 받고있는 경우, 당신은 사용자 에이전트 헤더를 전달할 필요가있다. 요청에 헤더를 포함하도록 WebClient 인스턴스를 수정할 수 있습니다.

public byte[] GetFileViaHttp(string url) 
{ 
    using (WebClient client = new WebClient()) 
    { 
     client.Headers.Add("User-Agent: Other");  
     return client.DownloadData(url); 
    } 
} 
+0

추가 정보 : 원격 서버가 오류를 반환했습니다. (403) 금지되었습니다. – Hellooo123

+0

@ Hellooo123 403 질문을 해결하기 위해 내 대답을 수정했습니다. –

+0

정말 대단한 답변입니다. 감사합니다. 추가 질문은 HTML 정보를 제거하는 방법 일 것입니다. String.Replace 까다로울 것입니다 .. – Hellooo123