JavaScript에서 클라이언트 IP 주소 가져 오기

Kirill Ibrahim 2023년12월11일
  1. Ipify 애플리케이션을 사용하여 JavaScript에서 클라이언트 IP 주소 가져 오기
  2. Ipinfo 애플리케이션을 사용하여 JavaScript에서 클라이언트 IP 주소 가져 오기
  3. Abstract 응용 프로그램을 사용하여 JavaScript에서 클라이언트 IP 주소 가져 오기
JavaScript에서 클라이언트 IP 주소 가져 오기

IP 주소는 네트워크 하드웨어에 고유 한 주소를 제공하는 숫자 조합입니다. 그것은 지문과 같거나 사람이 이메일을받을 이메일 주소를 가지고있는 것과 같습니다. 컴퓨터를 네트워크, 웹 및 전 세계의 다른 장치에 연결합니다.

JavaScript는 타사 응용 프로그램을 사용하는 클라이언트에 속하는 공용 IP 주소를 가져옵니다. 타사 애플리케이션은 사용자 IP 주소를 가져와 일반 텍스트, JSON 및 JSONP 형식의 세 가지 형식으로 반환합니다. 인터넷에는 이러한 애플리케이션이 수십 개 있습니다.

이 기사에서는 JavaScript에서 IP 주소를 가져 오는 가장 많이 사용되는 세 가지 도구 인 ipify, ipinfoAbstract.

Ipify 애플리케이션을 사용하여 JavaScript에서 클라이언트 IP 주소 가져 오기

ipify는 오픈 소스 애플리케이션입니다. GitHub 저장소에서 코드를받을 수 있습니다. 분당 수백만 건의 요청을하는 경우에도 제한이 없습니다.

예:

Axios (브라우저 용 HTTP 클라이언트 및 node.js)를 설치하거나 CDN을 포함하세요.

<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script>
async function getIpClient() {
  try {
    const response = await axios.get('https://api.ipify.org?format=json');
    console.log(response);
  } catch (error) {
    console.error(error);
  }
}

getIpClient();
</script>

출력:

data: {ip: "198.16.76.28"}

Ipinfo 애플리케이션을 사용하여 JavaScript에서 클라이언트 IP 주소 가져 오기

Ipinfo 애플리케이션에는 사용 제한이 있습니다. 하루에 1,000 건의 요청을 무료로하거나 무료 요금제에 등록하여 한 달에 50,000 건의 무료 요청을받을 수 있습니다.

예:

async function getIpClient() {
  try {
    const response = await axios.get('https://ipinfo.io/json');
    console.log(response);
  } catch (error) {
    console.error(error);
  }
}

getIpClient();

출력:

{
city: "Amsterdam"
country: "NL"
ip: "198.16.76.28"
loc: "52.3740,4.8897"
org: "AS174 Cogent Communications"
postal: "1012"
readme: "https://ipinfo.io/missingauth"
region: "North Holland"
timezone: "Europe/Amsterdam"
}

Abstract 응용 프로그램을 사용하여 JavaScript에서 클라이언트 IP 주소 가져 오기

Abstract애플리케이션도 한 달에 20,000 개의 무료 요청으로 제한됩니다. 무료 요금제를 사용하더라도 API 키를 얻으려면 등록이 필요합니다.

예:

async function getIpClient() {
  try {
    const response = await axios.get(
        'https://ipgeolocation.abstractapi.com/v1/?api_key=<your_api_key>');
    console.log(response);
  } catch (error) {
    console.error(error);
  }
}

getIpClient();

위 함수의 출력을 미리 보려면 Abstract 웹 사이트를 방문하세요.