Buyur hocam. bu kodu localhostta çalıştırıp işini görürsün diye düşünüyorum çok aşırı id varsa belki proxy lazım olabilir limiti denemedim.
Ekran görüntüsü;
Kod:
<?php
function getUserByUserId($userId) {
$user = [];
if ($userId) {
$baseUrl = "https://i.instagram.com/api/v1/users/{$userId}/info/";
$headers = [
'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Instagram 105.0.0.11.118 (iPhone11,8; iOS 12_3_1; en_US; en-US; scale=2.00; 828x1792; 165586599)'
];
try {
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $baseUrl,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_FOLLOWLOCATION => true
]);
$response = curl_exec($ch);
if (curl_errno($ch)) {
throw new Exception(curl_error($ch));
}
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($httpCode !== 200) {
throw new Exception("HTTP request failed with status: " . $httpCode);
}
curl_close($ch);
$userInfo = json_decode($response, true);
if (json_last_error() !== JSON_ERROR_NONE) {
throw new Exception("Failed to parse JSON response");
}
$user = $userInfo['user'] ?? [];
} catch (Exception $e) {
error_log("Getting user failed, due to: " . $e->getMessage());
}
}
return $user;
}
$users = ['317932194', '544022417'];
// $users dizisi içini idler ile doldurun. $users = ['12345', '123456'] gibi. ChatGPT ye idleri liste şeklinde verin bana php array değişkeni olarak ver diyin verir.
foreach($users as $user){
$userInfo = getUserByUserId($user);
if (!empty($userInfo)) {
echo 'USER ID:'. $user. ' USERNAME: '. $userInfo['username']. '</br>';
} else {
echo 'USER ID:'. $user. ' bu id ye ait kullanıcı adı bulunamadı. </br>';
}
}