Kodunuzda belirtilen hata, API'ye bağlantı kurulamamasından kaynaklanıyor. Bu durum, genellikle League of Legends Client'ın (LCU) çalışmıyor olması ya da yanlış port kullanılmasından kaynaklanır. Ancak, doğrudan kodunuzda bir hata olmadığını belirtmek önemli. Eğer League of Legends Client açık ve doğru şekilde çalışıyorsa ve yine de bu hatayı alıyorsanız, sorunun çözümü için genel bir yöntem olarak aşağıdaki gibi bir düzenleme öneririm:
League of Legends Client'ı açın ve çalıştırın.
LCU'nun kullanmakta olduğu port ve token bilgisini doğru bir şekilde elde edin. Bu bilgiler genellikle LCU'nun çalıştığı dizindeki lockfile dosyasında bulunur. Ancak, burada doğrudan lockfile'a erişim ve okuma işlemi yapmayacağız; çünkü bu daha karmaşık bir işlem gerektirir ve genel olarak statik bir port ve token kullanımı örneği vermek istiyorum.
Aşağıda, doğrudan bir hata düzeltmesi yerine, API'ye başarılı bir şekilde bağlanabilmek için genel bir kullanım örneğini gösteriyorum. Bu örnekte, requests kütüphanesi kullanılarak bir GET isteği gönderilmekte ve yanıt olarak JSON verisi alınmaktadır. Unutmayın ki, bu örnek sabit bir port ve varsayılan Authorization header'ı kullanmaktadır. Gerçek kullanımda, dinamik olarak elde edilen port ve token değerlerini kullanmanız gerekecektir.
Python:
import requests
def get_summoner_info():
try:
# LCU API'ya istek yapmak için gerekli header
headers = {
"Accept": "application/json",
"Authorization": "Basic Og=="
}
# LCU API adresi, portun doğru olduğundan emin olun.
api_url = "http://127.0.0.1:2999/summoner/v4/summoners/me"
# LCU API'ya GET isteği gönder
response = requests.get(api_url, headers=headers)
response.raise_for_status() # Hata varsa exception fırlatır.
summoner_info = response.json()
return summoner_info["name"], summoner_info["summonerLevel"]
except requests.exceptions.RequestException as e:
print("API Hatası:", e)
return None, None
except KeyError as e:
print("Veri Hatası:", e)
return None, None
if __name__ == "__main__":
summoner_name, summoner_level = get_summoner_info()
if summoner_name and summoner_level:
print(f"Sihirdar Adı: {summoner_name}")
print(f"Seviye: {summoner_level}")
Bu kod, API'ye başarılı bir şekilde bağlanıp bağlanmadığınızı kontrol etmek için temel bir başlangıç noktasıdır. Gerçekte, LCU'nun portunu ve gerekli kimlik doğrulama bilgilerini dinamik olarak elde etmeniz gerekebilir. Bu, genellikle League of Legends client'ının lockfile dosyasını okuyarak yapılır, ancak bu işlem burada ele alınmamıştır.