반응형

* C# WebBrowser 컨트롤을 이용한 외부 IP 알아내기 예제...

 

Main

 

-사용한 컨트롤 : WebBrowser 1개, Label 1개, Button 1개

 

전체 소스 코드

Form1.cs

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace CSharp_외부IP
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string strURL = "http://www.findip.kr/";
            
            //스크립트 오류 무시 하기...
            webBrowser1.ScriptErrorsSuppressed = true;
            webBrowser1.Navigate(strURL);
        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            if (webBrowser1.Document != null)
            {
                HtmlDocument hdDoc = webBrowser1.Document;
                HtmlElementCollection hecArray = hdDoc.GetElementsByTagName("h1");

                label1.Text = hecArray[0].OuterHtml;

            }
        }
    }
}

 

위 소스 코드에 보듯이 외부 사이트에 접속 해서 외부 IP 를 얻어 오는 방법으로 webBrower 컨트롤 로 외부 사이트 접속

-> 사이트 html 을 다운 하여 태그에서 얻어 오는 걸 볼 수 있습니다.

HtmlElementCollection 변수에 바로 배열 인덱스 0 을 쓴 이유는 h1 태그가 하나 밖에 없어서 이며, 혹 h1 태그가 여러개가 되면 for 문 또는 for each 문을 사용하여 사용자가 확인 후 걸러낼 수 있습니다. 

 

아래의 그림처럼 구글 크롬으로 외부 사이트 접속 하여 상단 메뉴에 개발자 도구를 선택. 붉은 테투리 의 h1 태그 이름을

가져 옵니다. 

 

 

*예제 결과

 

결과 화면

 

https://kdsoft-zeros.tistory.com/184

 

[VBNET] [Control] WebBrowser 컨트롤 - 외부 IP 알아내기

* VBNET WebBrowser 컨트롤을 이용한 외부 IP 얻어 오기 예제... Main -사용한 컨트롤 : WebBrowser 1개, Label 1개, Button 1개 전체 소스 코드 Form1.vb Public Class Form1 Private Sub button1_Click(ByVal s..

kdsoft-zeros.tistory.com

 

반응형

+ Recent posts