githubのIPアドレスを取得したい方へ送るコード.
2024.10.06
おはようございます.以前、さくらレンタルサーバーにデプロイするためにGithubのIPアドレスを許可しなくては成らなくなり下記のコードを作りました.今回はそのコードのお裾分けです.Githubは使用されているIPアドレスをJsonデータとして公開しているので、そのJSONデータを取得するPHPコードです.
大したコードではないものの、ユーザーエージェントが無いと取得できないのでそこは気おつけてください.それはfile_get_contentsでも同様ですのでお気をつけください.
ソースコードは下記になります.尚、IPアドレスは下記のページから参照可能となります.
https://zip358.com/tool/github-ip-address
class githubIpAddress
{
public $url = 'https://api.github.com/meta';
public function getIpAddress($key)
{
$data = [];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $this->url);
curl_setopt($curl, CURLOPT_USERAGENT, 'getgithubaddress');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$obj = json_decode(@curl_exec($curl));
if ($obj?->$key) {
foreach ($obj?->$key as $val) {
$data[] = $val;
}
}
curl_close($curl);
return $data;
}
public function saveIpAddress($key, $data)
{
$filename = "data/{$key}-ip-address.txt";
file_put_contents($filename, implode("\n",$data));
return $filename;
}
}
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
curl, curl_close, curl_exec, curl_init, curl_setopt, false, filename, foreach, github, gt, implode, ip-address.txt", json_decode, obj, quot, quot;data, return, true, val, ユーザーエージェント,