Rest Api ile alakalı problem (ERESTException )

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
cenap_b
Üye
Mesajlar: 45
Kayıt: 21 Mar 2004 08:59
Konum: İzmir
İletişim:

Rest Api ile alakalı problem (ERESTException )

Mesaj gönderen cenap_b »

mrb,
Trendyol apileri ile çalışırken aşağıdaki gibi hata almaktayım.
" REST request failed: Execution of request terminated with unknown error / ERESTException "
daha önceden sorunsuz çalışıyordu değişiklik yapmadım. Postmanda hata vermiyor. ama delphi de ve rest debuggerde bu hatayı almaktayım. bu koduda bilgisi olan varmıdır.
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: Rest Api ile alakalı problem (ERESTException )

Mesaj gönderen ertank »

Merhaba,

Hata sebebini anlamak için Fiddler Telerik gibi bir uygulama ile ham iletişimi incelemeniz işe yarayabilir.

Delphi standart REST bileşenlerinde daha önce hafıza kaçağı tespit etmiştim. Bundan sonra hiç kullanmadım. Postman uygulamasında da hata olmadığını belirtmişsiniz. Bu defa siz bileşenler ile ilgili farklı bir sorunla karşılaşmış olabilirsiniz.

Alternatif olarak TNetHTTPClient kullanmayı tercih etmenizde fayda var. Bu şekilde iletişimde tam kontrol sahibi olursunuz.
Kullanıcı avatarı
cenap_b
Üye
Mesajlar: 45
Kayıt: 21 Mar 2004 08:59
Konum: İzmir
İletişim:

Re: Rest Api ile alakalı problem (ERESTException )

Mesaj gönderen cenap_b »

ertank yazdı: 03 Eyl 2021 10:38 Merhaba,

Hata sebebini anlamak için Fiddler Telerik gibi bir uygulama ile ham iletişimi incelemeniz işe yarayabilir.

Delphi standart REST bileşenlerinde daha önce hafıza kaçağı tespit etmiştim. Bundan sonra hiç kullanmadım. Postman uygulamasında da hata olmadığını belirtmişsiniz. Bu defa siz bileşenler ile ilgili farklı bir sorunla karşılaşmış olabilirsiniz.

Alternatif olarak TNetHTTPClient kullanmayı tercih etmenizde fayda var. Bu şekilde iletişimde tam kontrol sahibi olursunuz.
TNetHTTPClient ile basic auth headere nasıl eklioruz acaba.
"memo1.Text := NetHTTPClient1.get( URL, nil).ContentAsString;"
şeklinde istek gönderiyorum
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: Rest Api ile alakalı problem (ERESTException )

Mesaj gönderen ertank »

Merhaba,

Aşağıdaki şekilde istediğiniz header bilgisini ekleyebilirsiniz. Örnek Authorization header eklemektedir. Değeri 12345 olmaktadır.

Kod: Tümünü seç

NetHTTPClient1.CustomHeaders['Authorization'] := '12345';
Memo1.Text := NetHTTPClient1.Get(URL, nil).ContentAsString;
Kullanıcı avatarı
cenap_b
Üye
Mesajlar: 45
Kayıt: 21 Mar 2004 08:59
Konum: İzmir
İletişim:

Re: Rest Api ile alakalı problem (ERESTException )

Mesaj gönderen cenap_b »

ertank yazdı: 03 Eyl 2021 04:06 Merhaba,

Aşağıdaki şekilde istediğiniz header bilgisini ekleyebilirsiniz. Örnek Authorization header eklemektedir. Değeri 12345 olmaktadır.

Kod: Tümünü seç

NetHTTPClient1.CustomHeaders['Authorization'] := '12345';
Memo1.Text := NetHTTPClient1.Get(URL, nil).ContentAsString;
birkaç örnek koda bakarak denedim ama olmadı malesef.

NetHTTPClient1.CustomHeaders['Authorization'] := 'Basic ffdsdfsdfsdfsdfsdf';
ve birkaç kombinasyon denedim olmadı.
postmanda headere direk Authorization: Basic ffdsdfsdfsdfsdfsdf olarak ekliyorum sorun yok.
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: Rest Api ile alakalı problem (ERESTException )

Mesaj gönderen ertank »

cenap_b yazdı: 03 Eyl 2021 05:23 birkaç örnek koda bakarak denedim ama olmadı malesef.

NetHTTPClient1.CustomHeaders['Authorization'] := 'Basic ffdsdfsdfsdfsdfsdf';
ve birkaç kombinasyon denedim olmadı.
postmanda headere direk Authorization: Basic ffdsdfsdfsdfsdfsdf olarak ekliyorum sorun yok.
Örnek olarak paylaştığım kod Delphi 10.4.2 ile derlenmekte ve çalışmaktadır. Aktif olarak kullandığım özelliklerden birisidir.
Olmadı dediğiniz nedir acaba? Hata mesajı mı alıyorsunuz? Hata alıyor iseniz Delphi exception mı, yoksa web servis yanıtı mı?
Delphi Exception yok ise; Fiddler Telerik uygulamasını kullanarak gelen/giden paketleri inceleyerek header bilgisinin gönderilip gönderilmediğini kesin olarak tespit edebilirsiniz.
Kullanıcı avatarı
cenap_b
Üye
Mesajlar: 45
Kayıt: 21 Mar 2004 08:59
Konum: İzmir
İletişim:

Re: Rest Api ile alakalı problem (ERESTException )

Mesaj gönderen cenap_b »

auth tarafında hata yapmışım o sorunu çözdüm. doğru şekilde istek attığımda şuan yine benzer hata geliyor.

NetHTTPClient1 ile
"Execution of request terminated with unknown error / ENetHTTPClientException" hatası alıyorum.

TRestClient componentlerinde ise
"REST request failed: Execution of request terminated with unknown error / ERESTException " şeklinde hata.
çakıldım kaldım hiç bir yerde cevap bulamadım. kullandıgım sürüm xe8
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: Rest Api ile alakalı problem (ERESTException )

Mesaj gönderen ertank »

Sorunu anlayabilmek için Fiddler Telerik uygulamasını kullanarak gelen/giden paketleri inceleyin.
Postman isteği ve yanıtı nasıl?
Sizin uygulamanızın isteği ve yanıtı nasıl?
Arasındaki farklar neler?
Birinde POST diğerinde GET kullanıyor olabilir misiniz?
GET metodu doğru ise URL her ikisinde de birebir aynı mı?

Aldığınız hatayı internette araştırınca sanki sizin uygulamanız ilgili URL erişimi bloke edilmiş gibi bir anlam çıkıyor. Bunu da kontrol etmenizde fayda var.
Kullanıcı avatarı
cenap_b
Üye
Mesajlar: 45
Kayıt: 21 Mar 2004 08:59
Konum: İzmir
İletişim:

Re: Rest Api ile alakalı problem (ERESTException )

Mesaj gönderen cenap_b »

fidler ile baktıgımda birebir aynı.diğer konularda da sorun yok. sanala temiz kurulum yaparak test edeceğim. sorun kendi windowsumda olabilir diye düşündüm.
Kullanıcı avatarı
cenap_b
Üye
Mesajlar: 45
Kayıt: 21 Mar 2004 08:59
Konum: İzmir
İletişim:

Re: Rest Api ile alakalı problem (ERESTException )

Mesaj gönderen cenap_b »

sorun xe8 den kaynaklı.update çıkarmışlar ama bendeki lisanslı olmadıgı için indiremedim. 10.3.1 ile nethttpclient aynı kod sorunsuz çalıştı. tRestComponent lerde hala aynı hata. Sonraki işlerimde hem debug kolaylığı hemde daha fazla kontrol oldugu için NethttpClient tercih edeceğim :bravo:
Cevapla