TsgcOpenAPI_Client, bir OpenAPI belirtiminden HTTP istekleri yapmak için ana yöntemleri ve özellikleri kapsayan görsel olmayan bir bileşendir.
sgcOpenAPI Parser ile oluşturulan her OpenAPI arayüzünün 2 yöntemi vardır
Örnek
Bir IP Adresinin yerelleştirmesini almak için Abstractapi'yi kullanın.
GetOpenAPIClient.Retrieve_the_location_of_an_IP_address('your api', '80.258.15.2');
auth2Code: Tek sayfalık uygulamalar, web uygulamaları ve yerel olarak yüklenen uygulamalar dahil olmak üzere uygulama türlerinin çoğunda kimlik doğrulama ve yetkilendirme gerçekleştirmek için kullanılır. Akış, uygulamaların güvenli kaynaklara erişmek için kullanılabilen access_token'ları güvenli bir şekilde edinmesini, ayrıca ek access_token'lar almak için refresh token'ları ve oturum açan kullanıcı için ID token'larını edinmesini sağlar.
auth2ClientCredentials: Bu grant türü, genellikle bir kullanıcıyla anında etkileşim olmadan arka planda çalışması gereken sunucudan sunucuya etkileşimler için kullanılır. Bu tür uygulamalar genellikle daemon veya service account olarak adlandırılır.
Şunun hakkında daha fazla bilgi: OAuth2.
HTTP/1 protokolünü kullanarak güvenli SSL/TLS sunucularına nasıl bağlanılacağını yapılandırmanıza olanak tanır
ALPNProtocols: sunucuya gönderilecek ALPN protokollerinin listesi.
RootCertFile: kök sertifika dosyasının yolu.
CertFile: sertifika dosyasının yolu.
KeyFile: sertifika anahtar dosyasının yolu.
Password: sertifika bir parolayla korunuyorsa, buraya ayarlayın.
VerifyCertificate: sertifikanın doğrulanması gerekiyorsa, bu özelliği etkinleştirin.
VerifyDepth: X.509 sertifikası için doğrulama yapıldığında izin verilen maksimum bağlantı sayısını temsil eden bir Integer özelliğidir.
Version: varsayılan olarak TLS 1.0 kullanır, sunucu daha yüksek bir TLS sürümü gerektiriyorsa, burada seçilebilir.
IOHandler: TLS kullanarak bağlantı için hangi kütüphaneyi kullanacağınızı seçin.
iohOpenSSL: OpenSSL kütüphanesini kullanır ve Indy bileşenleri için varsayılandır. win32/win64 için openssl kütüphanelerinin dağıtılmasını gerektirir.
iohSChannel: Microsoft tarafından Windows için uygulanan bir güvenlik protokolü olan Secure Channel'ı kullanır, openssl kütüphanelerini dağıtmayı gerektirmez. Yalnızca Windows 32/64 bit'te çalışır.
OpenSSL_Options: openSSL kütüphanelerinin yapılandırması.
APIVersion: hangi OpenSSL API'sinin kullanılacağını tanımlamaya olanak tanır.
oslAPI_1_0: API 1.0 OpenSSL kullanır, Indy tarafından desteklenen en son sürümdür
oslAPI_1_1: API 1.1 OpenSSL kullanır, özel Indy kütüphanemizi gerektirir ve OpenSSL 1.1.1 kütüphanelerinin (TLS 1.3 desteğiyle) kullanılmasına izin verir.
oslAPI_3_0: API 3.0 OpenSSL kullanır, özel Indy kütüphanemizi gerektirir ve OpenSSL 3.0.0 kütüphanelerinin (TLS 1.3 desteğiyle) kullanılmasına olanak tanır.
LibPath: burada openSSL kütüphanelerinin nerede bulunduğunu yapılandırabilirsiniz
oslpNone: bu varsayılandır, OpenSSL kitaplıkları ikili dosyanın bulunduğu klasörde veya bilinen bir yolda olmalıdır.
oslpDefaultFolder: tüm IDE kişilikleri için kütüphanelerin bulunması gereken openSSL yolunu otomatik olarak ayarlar.
oslpCustomFolder: seçilen seçenek buysa, tam yolu LibPathCustom özelliğinde tanımlayın.
LibPathCustom: LibPath = oslpCustomFolder olduğunda openSSL kütüphanelerinin bulunduğu tam yolu burada tanımlayın.
UnixSymLinks: Unix sistemlerinde SymLinks yüklemesini etkinleştirin veya devre dışı bırakın (varsayılan olarak etkindir, OSX64 hariç):
oslsSymLinksDefault: OSX64 dışında varsayılan olarak etkindir (MacOS Monterey'den sonra kütüphaneyi sürüm olmadan yüklemeye çalışırken başarısız olur).
oslsSymLinksLoadFirst: SymLinks'i yükle ve bunu sürüm kitaplıklarını yüklemeyi denemeden önce yap.
oslsSymLinksLoad: Sürüm kütüphanelerini yüklemeyi denedikten sonra SymLinks'i yükle.
oslsSymLinksDontLoad: SymLink'leri yükleme.
SChannel_Options: Windows Sertifika Deposundan bir sertifika kullanmanıza olanak tanır.
CertHash: sertifika Hash değeridir. Sertifika Hash değerini powershell'de bir dir komutu çalıştırarak bulabilirsiniz.
CipherList: burada hangi Cipher'ların kullanılacağını ayarlayabilirsiniz (":" ile ayrılmış). Örnek: CALG_AES_256:CALG_AES_128
CertStoreName: sertifikanın saklandığı depo adı. Aşağıdakilerden birini seçin:
scsnMY (varsayılan)
scsnCA
scsnRoot
scsnTrust
CertStorePath: sertifikanın saklandığı depo yolu. Aşağıdakilerden birini seçin:
scspStoreCurrentUser (varsayılan)
scspStoreLocalMachine
Bağlantıları bir proxy aracılığıyla yapılandırmak için bu özelliği kullanın.
Enabled: proxy bağlantılarını etkinleştirmek için true olarak ayarlayın.
Host: Proxy sunucusu adresi
Port: Proxy sunucusu portu
UserName/Password: Yalnızca gerekiyorsa, proxy'ye bağlanmak için Kimlik Doğrulama.
ProxyType: aşağıdaki proxy'ler desteklenir:
Log özelliği etkinleştirilirse, soket mesajlarını belirtilen bir günlük dosyasına kaydeder, hata ayıklama için yararlıdır.
Log: HTTP isteklerini bir metin dosyasına kaydetmek istiyorsanız etkinleştirin.
LogFileName: dosya adının tam yolu.
OpenAPI istemcisini özelleştirmek için kullanılabilecek diğer özellikler:
EncodeBodyAsUTF8: etkinleştirilirse, JSON gövdesi UTF8 olarak kodlanır (varsayılan olarak false).
OpenAPI İstemcisini kullanırken işleyebileceğiniz olayların listesini aşağıda bulun.
OnBeforeRequest
Bu olay, HTTP isteği çağrılmadan önce çağrılır. Parametre adlarını, Başlıkları, güvenliği özelleştirmeye olanak tanır... Bazı parametrelerin adının nasıl değiştirileceğine dair bir örnek aşağıda bulunmaktadır.
procedure OnBeforeRequestEvent(Sender: TObject; const aRequest: TsgcOpenAPIRequest);
var
i: Integer;
oParameter: TsgcOpenAPIParameter;
begin
for i := 0 to aRequest.Parameters.Count - 1 do
begin
oParameter := aRequest.Parameters[i];
if oParameter._Name = 'meta-modified-from' then
oParameter._name := 'eventDateTime-from';
if oParameter._Name = 'meta-modified-to' then
oParameter._name := 'eventDateTime-to';
end;
end;
OnUpload
Bu olay, bir dosya yüklendiğinde çağrılır, yüklemenin ilerlemesini bilmek için bu olayı kullanabilirsiniz.
OnDownload
Bu olay bir dosya indirildiğinde çağrılır, indirmenin ilerlemesini bilmek için bu olayı kullanabilirsiniz.
OnSSLVerifyPeer
Sertifika doğrulaması etkinse, bu olayda sunucu sertifikasını doğrulayabilir ve kabul edip etmemeye karar verebilirsiniz.
OnSSLGetHandler
Bu olay SSL işleyici oluşturulmadan önce tetiklenir, burada kendi SSL İşleyicinizi oluşturabilir (TIdServerIOHandlerSSLBase veya TIdIOHandlerSSLBase'den miras alınması gerekir) ve gereken özellikleri ayarlayabilirsiniz
OnSSLAfterCreateHandler
Özel bir SSL nesnesi oluşturulmamışsa, varsayılan olarak OpenSSL işleyicisini kullanarak oluşturur. SSL İşleyici özelliklerine erişebilir ve gerekirse değiştirebilirsiniz