勉強したことのメモ.

Webエンジニア / プログラマが勉強したことのメモ。

バニラJavaScriptにて「ipify API」を利用してユーザのIPアドレスを取得する方法

  JavaScript

あるサイトでユーザのIPアドレスを取得したいというケースがあった。普段であればPHPで取得できるがASPを利用したサイトのためPHPは使用不可という制限があった。調べたところ「ipify API」というAPIが無料かつ制限無しでIPアドレスを取得できる模様。以下に利用方法をメモ。

 

ipify API

公式サイト

https://www.ipify.org/

GitHub

https://github.com/sindresorhus/ipify

 

利用方法

ソースコード

<script>
const url = 'https://api.ipify.org?format=json';
const xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.send();
xhr.responseType = 'json';
xhr.onload = () => {
    if( xhr.status == 200 ){
        console.log(xhr.response); //Object { ip: "xxx.xxx.xxx.xxx" }
        console.log(xhr.response.ip); //xxx.xxx.xxx.xxx
    }else{
        console.log(`Error`);
    }
};
</script>

 - JavaScript

  関連記事

アンカーリンクでURLに「#hoge」のようなパラメータを残さずスクロールさせる方法
アンカーリンクでURLに「#hoge」のようなパラメータを残さずスクロールさせる方法

アンカータグをクリックしてもブラウザのURL欄に「#hoge」のようなハッシュを ...

構造化データ(JSON-LD形式)をJavaScriptで動的に描写する方法
構造化データ(JSON-LD形式)をJavaScriptで動的に描写する方法

あるサイトに構造化データをJSON-LD形式で出力させたかった。ただ、当該環境で ...

jQueryで偶数or奇数行に任意のClassを付与する方法
jQueryで偶数or奇数行に任意のClassを付与する方法

tableタグの1行目を除く偶数もしくは奇数行のtrタグに任意にClassを指定 ...

CodeIgniter4&Bootstrap&jQueryで簡易版お問い合わせページの作成
CodeIgniter4&Bootstrap&jQueryで簡易版お問い合わせページの作成

CodeIgniter4.4.4&Bootstrap&jQuer ...

バニラJS対応(jQuery非依存)の通知(トースト)系ライブラリ「Notyf」の利用方法
バニラJS対応(jQuery非依存)の通知(トースト)系ライブラリ「Notyf」の利用方法

以前に通知(トースト)系ライブラリ「Toastr」の利用方法をメモしたが、こちら ...