githubのIPアドレスを取得したい方へ送るコード.
この投稿は1年以上前に公開されました。 現在の情報とは異なる可能性がありますので、ご了承ください。
おはようございます.以前、さくらレンタルサーバーにデプロイするために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;
}
}