How do I call IPRout with PHP?
This example looks up 8.8.8.8 unless the client example uses /ip to demonstrate caller lookup. Replace only the route when switching modes.
$ch = curl_init("https://api.iprout.com/ip/8.8.8.8");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("IPROUT_API_KEY")],
]);
$body = curl_exec($ch);
if ($body === false || curl_getinfo($ch, CURLINFO_RESPONSE_CODE) >= 400) { throw new RuntimeException("IPRout request failed"); }
$data = json_decode($body, true, flags: JSON_THROW_ON_ERROR);How do I look up the caller instead?
Keep the headers and error handling unchanged, but request https://api.iprout.com/ip with no address after /ip.
What does production code need?
Keep the key server-side, use a finite timeout, inspect HTTP status before decoding success data, and handle 401, 422, 429, and transient 500 responses.
- Read IPROUT_API_KEY from a secret environment
- Do not retry 401 or 422 automatically
- Use bounded backoff for transient server or network failures