API:Cross-site requests/tr

Bir kullanıcı betiğin veya küçük aracın başka bir MediaWiki sitesine karşı API çağrısı yapması gerekiyorsa (ör. Vikipedi'deki bir betiğin Commons'ta görüntü bilgilerini kontrol etmesi gerekir), JSONP veya CORS kullanılmalıdır.



JSONP kullanımı
API'nin  değeri, JSON sonucunun sarılacağı bir JavaScript işlevi olan   parametresini kabul eder. Bu, belgeye dinamik olarak etiketleri ekleyerek uzak bir sitedeki API'yi çağırmak için kullanılabilir.

Örnek


GET isteği


Yanıt


CORS kullanımı
MediaWiki API'sı,  öğesinin bir sorgu dizesi parametresi olarak sağlanmasını gerektirir; değer, isteğin kaynaklandığı sitedir ve CORS protokolünün gerektirdiği Origin üstbilgisiyle eşleşir. Bu parametrenin herhangi bir uçuş öncesi isteğine dahil edilmesi gerektiğini ve bu nedenle POST istekleri için bile istek URI'sının sorgu dizesi bölümüne dahil edilmesi gerektiğini unutmayın.

parametresi sağlanır ve istek başarılı bir CORS cevabını göndermezse, MediaWiki≥1.30 başarısızlığın kısa bir nedeni ile birlikte  başlığı gönderir, örneğin eşleşmeyen bir köken veya desteklenmeyen başlıklar durumunda   istek başlığı.



Doğrulanmamış CORS İstekleri
Doğrulanmamış CORS istekleri,  istek parametresi   olarak ayarlanarak herhangi bir kaynaktan yapılabilir. Bu durumda, MediaWiki  üstbilgisini yanıta ekler ve isteği oturumu kapatmış gibi işler.

Örnek


GET isteği


Yanıt


Doğrulanmış CORS İstekleri
Doğrulanmış bir CORS isteği yapmak için, uzak vikinin  ayarının başlangıç sitesine izin verecek şekilde ayarlanması gerekir. CORS başlangıç kontrolü başarılı olursa, MediaWiki yanıtta  başlığını içerecektir, bu nedenle kimlik doğrulama çerezleri gönderilebilir.

, JavaScript'te CORS isteklerinin nasıl ele alınacağına ilişkin daha fazla talimat ve örnek içermektedir.



Ek notlar

 * JSONP ve CORS arasındaki ayrıntılı farklar CORS ve JSONP adresinde mevcuttur.

