İçeriğe geç
Stream EmberAPI
GeoIP / GeoIP

GeoIP

MaxMind GeoLite2 (City, Country, ASN) veritabanlarıyla yerel olarak çalışır; dış servise istek atmaz. Cloudflare ve güvenilir proxy zincirinden gerçek istemci IP'sini çözer. Yanıt ip-api.com biçimiyle uyumludur.

Kararlıv2.0.0Güncelleme 2026-10-07JSON · GETKimlik doğrulama yok

Hızlı başvuru

GETapi.streamember.com/geoip/
Örnek istekYol (API klasörüne göre)
İsteği yapanın konumu
Belirli bir IP (İngilizce adlar)?ip=8.8.8.8&lang=en
Ayrıntılı (proxy zinciri, ağ)?ip=1.1.1.1&debug=1&pretty=1
Kullananlar
Launcher, Falcon
Etiketler
geoip, ip, country, timezone, currency, maxmind

Genel bakış

Parametresiz istek, isteği yapanın IP'sini çözer. Cloudflare IP blokları ve TRUSTED_PROXIES ortam değişkenindeki CIDR'lar güvenilir kabul edilir; diğer X-Forwarded-For başlıkları yok sayılır.

Not

Bu API ip-api.com istemcileriyle uyumlu kalmak için alan adlarında camelCase ve hatalarda {"status": "fail", "message": …} biçimini kullanır. Havuz standardındaki {"error": …} biçiminin bilinçli istisnasıdır.

Hızlı başlangıç

text
GET https://api.streamember.com/geoip/?lang=tr
json
{
  "query": "88.230.10.10", "status": "success",
  "continent": "Europe", "continentCode": "EU",
  "country": "Turkey", "countryCode": "TR",
  "region": "34", "regionName": "Istanbul", "city": "Istanbul", "district": "", "zip": "34000",
  "lat": 41.01, "lng": 28.95, "timezone": "Europe/Istanbul", "offset": 10800, "currency": "TRY",
  "isp": "Turk Telekom", "org": "Turk Telekom", "as": "AS9121 Turk Telekom", "asname": "",
  "mobile": null, "proxy": null, "hosting": null
}

Parametreler

ParametreTürVarsayılanAçıklama
ipmetinistemci IP'siIPv4 ya da IPv6
langmetintrYer adlarının dili. GeoLite2'de yalnızca en, de, es, fr, ja, pt, ru, zh adları var; Türkçe dahil diğerleri İngilizce döner.
debug1—debug nesnesi: ağ, proxy zinciri, Cloudflare bilgileri
dns1—reverse alanı (ters DNS)
pretty1—Girintili JSON

Yanıt biçimi

ip-api alanları: query, status, continent, continentCode, country, countryCode, region, regionName, city, district, zip, lat, lng, timezone, offset (saniye), currency, isp, org, as, asname, mobile, proxy, hosting. GeoLite2 mobil/proxy/hosting sınıflandırması vermediği için son üçü null'dur.

Hatalar

HTTPGövdeNe zaman
400{"status":"fail","message":"Invalid IP address."}Geçersiz ip
405{"status":"fail","message":"Only GET requests are supported."}GET dışı istek
500{"status":"fail","message":…}Veritabanı ya da vendor/ eksik

Önbellek ve sınırlar

Yanıtlar istemciye özel olduğu için Cache-Control: no-store döner. Veritabanları (GeoLite2-*.mmdb) MaxMind'dan düzenli güncellenmelidir; composer install ile maxmind-db/reader kurulur.

Değişiklik geçmişi

  • 2.0.0 — lang parametresi (14 dil kodu), API.md.
Bu sayfa geoip/API.md dosyasından üretildi.Ham MarkdownManifest JSON