REST bağlantı
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
REST bağlantı
Merhaba Arkadaşlar
Rest Debugger ile REST servera hatasız bağlanıp Token alabiliyorum. Copy Components ile çalışan komponentleri alıp yeni bir proje içinde yapıştırıyorum. Çalışan ayarlar ile 4 adet (TRESTClient, TRESTRequest, TRESTResponse,THTTPBasicAuthenticator) komponenti oluşturuyor. Ama aynı ayarlar ile REST servera bağlanmıyor. 400 Bad request hatası veriyor.
Sebebi ne olabilir?
Tşk.
Rest Debugger ile REST servera hatasız bağlanıp Token alabiliyorum. Copy Components ile çalışan komponentleri alıp yeni bir proje içinde yapıştırıyorum. Çalışan ayarlar ile 4 adet (TRESTClient, TRESTRequest, TRESTResponse,THTTPBasicAuthenticator) komponenti oluşturuyor. Ama aynı ayarlar ile REST servera bağlanmıyor. 400 Bad request hatası veriyor.
Sebebi ne olabilir?
Tşk.
Re: REST bağlantı
Rest Debugger test ettiğiniz uygulama çalışma zamanında sorunsuz iletişim kurabiliyor mu?
Bileşenleri kopyaladığınız uygulamada Fiddler vb yardımı ile giden/gelen bilgileri karşılaştırıp bir ipucu bulmanız mümkün olabilir.
Bileşenleri kopyaladığınız uygulamada Fiddler vb yardımı ile giden/gelen bilgileri karşılaştırıp bir ipucu bulmanız mümkün olabilir.
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: REST bağlantı
soapui,postman gibi araçları kullanıp bunlarda başarılı olan sonuçlarınızda gelen-giden verilerinizi inceleyin header bilgisi istiyor olabilir.m_ekici yazdı: ↑12 Tem 2018 06:20 Merhaba Arkadaşlar
Rest Debugger ile REST servera hatasız bağlanıp Token alabiliyorum. Copy Components ile çalışan komponentleri alıp yeni bir proje içinde yapıştırıyorum. Çalışan ayarlar ile 4 adet (TRESTClient, TRESTRequest, TRESTResponse,THTTPBasicAuthenticator) komponenti oluşturuyor. Ama aynı ayarlar ile REST servera bağlanmıyor. 400 Bad request hatası veriyor.
Sebebi ne olabilir?
Tşk.
Mücadele güzelleştirir!
Re: REST bağlantı
Merhaba,m_ekici yazdı: ↑12 Tem 2018 06:20 Merhaba Arkadaşlar
Rest Debugger ile REST servera hatasız bağlanıp Token alabiliyorum. Copy Components ile çalışan komponentleri alıp yeni bir proje içinde yapıştırıyorum. Çalışan ayarlar ile 4 adet (TRESTClient, TRESTRequest, TRESTResponse,THTTPBasicAuthenticator) komponenti oluşturuyor. Ama aynı ayarlar ile REST servera bağlanmıyor. 400 Bad request hatası veriyor.
Sebebi ne olabilir?
Tşk.
Yeni proje içine aldıktan sonra hiçbir değişiklik yapmadan RESTRequest üzerinde fare ile sağ tıklama yaptığınız açılan menüden Execute dediğinizde hata almamanız gerekiyor. Eğer burada bir hata var ise Rest Debugger kaynaklı bir sorun olabilir.
Nasibinde varsa, alırsın karıncadan bile ders, Nasibinde yoksa, bütün cihan önüne serilse, sana ters..
Re: REST bağlantı
Tşk. Fiddler işimi çözdü.
Paket içerisindeki şifre farklı formatta ve grand_type alanı olmadan gidiyormuş.
Paket içerisindeki şifre farklı formatta ve grand_type alanı olmadan gidiyormuş.
Re: REST bağlantı
TRESTResponse ile alınan contentin içindeki veriyi parçalamanın kolay bir örneği var mı?
Re: REST bağlantı
Cevabı da ben yazayım
Kod: Tümünü seç
L_RESTRequest.Execute;
case L_RESTResponse.StatusCode of
200 : begin // Hata yok
inforest:=L_RESTResponse.Content;
try
LJSONObject := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(infoRest), 0) as TJSONObject;
TokenStr :=LJSONObject.Values['access_token'].Value;
finally
LJSONObject.Free
end;
Re: REST bağlantı
Merhaba
İlginç bir durum oluyor. Aynı komponeti hem POST hem de GET işlemi için kullanmak istiyorum. parametreler farklı olduğu için1. işlemden sonra komutunu kullanmak istedim. Bu komutu kullanmadan çalıştırırsam token alıyor. Clear komutu yazmadan önce Fiddler ile giden pakete baktığımda
normal gidiyor. Ama clear komutundan sonra aynı parametre
olarak gidiyor. Buradaki özel karakterler değişiyor. Bunun sebebi nedir?
İlginç bir durum oluyor. Aynı komponeti hem POST hem de GET işlemi için kullanmak istiyorum. parametreler farklı olduğu için1. işlemden sonra
Kod: Tümünü seç
L_RESTRequest.Params.Clear;
Kod: Tümünü seç
grant_type=password&username=
Kod: Tümünü seç
grant_type=password%26username%3D
Re: REST bağlantı
Birine lazım olursa
parametre eklerken [poDoNotEncode] komutu eklemek gerekiyormuş;
parametre eklerken [poDoNotEncode] komutu eklemek gerekiyormuş;
Kod: Tümünü seç
L_RESTRequest.Params.AddItem( 'grant_type', ParamStr, TRESTRequestParameterKind.pkGETorPOST, [poDoNotEncode]);