PHPで外部APIをアクセスする

phpでAPIをアクセスする PHP

PHPで外部のサイトやAPIにアクセスする際に使われる手段としてcurlがあります。
cURLはサイトアクセスだけでなく多くのプロトコルに対応しており、FTP、FTPS、GOPHER、HTTP、HTTPS、LDAP、LDAPS、SCP、SFTP、IMAP、POP3、POP3S、SMTP、SMTPS、RTSPもサポートしています。

POSTでアクセス

$params= [
‘test’ => ‘test’
]
$header = [
// headerに追加したい情報
// 例)
// “Content-Type: application/json”,
// “Accept: application/json”,
// “Authorization: Bearer HogeHoge”
];
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL, ‘https://domain.com’);
curl_setopt($curl,CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, FALSE); // 証明書の検証を無効化
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST, FALSE); // 証明書の検証を無効化
curl_setopt($curl,CURLOPT_RETURNTRANSFER, TRUE); // 返り値を文字列に変更
curl_setopt($curl,CURLOPT_FOLLOWLOCATION, TRUE); // Locationヘッダを追跡

$output= curl_exec($curl);

// エラーハンドリング用
$errno = curl_errno($curl);
// コネクションを閉じる
curl_close($curl);

// エラーハンドリング
if ($errno !== CURLE_OK) {
//エラー処理
}
echo output;

GETでアクセス

$header = [
// headerに追加したい情報
// 例)
// “Content-Type: application/json”,
// “Accept: application/json”,
// “Authorization: Bearer HogeHoge”
];
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL, ‘http://domain.com?test=test’);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, ‘GET’);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, FALSE); // 証明書の検証を無効化
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST, FALSE); // 証明書の検証を無効化
curl_setopt($curl,CURLOPT_RETURNTRANSFER, TRUE); // 返り値を文字列に変更
curl_setopt($curl,CURLOPT_FOLLOWLOCATION, TRUE); // Locationヘッダを追跡

$output= curl_exec($curl);

// エラーハンドリング用
$errno = curl_errno($curl);
// コネクションを閉じる
curl_close($curl);

// エラーハンドリング
if ($errno !== CURLE_OK) {
//エラー処理
}

echo output;
タイトルとURLをコピーしました