(Son Düzenleme: 13-11-2018, Saat: 18:10, Düzenleyen:
ahmet_sinav
.
Sebep: ek açıklama
@
SimaWB
evet postun birden fazla override methodu var. Bahsettiğiniz haliyle de denedim. Sonuç değişmedi.
Sonra şunu farkettim Authorization için token'ı memo nesnesi içinden alıyordum. Bunu direk pas dosyası içine aldım.
Ve post gerçekleşti. Memo nesnesi içinde özel karakter atamış olduğundan bu problem ortaya çıkmış.
Şunu söylemekte fayda var
htp.CustomHeaders['Authorization'] := 'Bearer '+Tkn;
zinhar çalışmıyor. İlla TNetHeaders ile yapmak lazım. Ya da extradan bir porperty vs.. var setlemek gerekli.
Teşekkürler.
İmam Süleyman Yakub <--> Molla Mustafa Mansur
Evlatlarım!
Cismanımız
TÜRK
ruhumuz ise
İSLAM
.
Bu yolda daim olalım her an.
Windows güncellemelerini elden geçirin isterseniz. Şu aralar benim de başımda benzeri problem var idHttp, NetHttpClient ve REST seçeneklerinin üçünü birden tercihe bağladım. Denediğim bir bilgisayarda indy diğerinde nethttpclient çalışıyor. Birisinde de 3 ü de çalışmadı (biraz klasik olacak ama bende üçü de çalışmakta
). Halen incelemedeyim. Kullandığınız yapıda bir terslik bulunmuyor bu arada ama headers parametresini aşağıdaki gibi de kullanabilirsiniz. Ben de gelen cevapları TStringStream tipli bir sınıfa yazdırıyorum ama nil olarak geçebilirsiniz önemli değil.
strStrm.Clear;
htp.Post('htpps://apiadresi','ReqAgency.json',strStrm,[TNameValuePair.Create('Authorization','Bearer '+Tkn),TNameValuePair.Create('Content-Type','application/json')]);
Header parametresindeki TNameValuePair bir Record yapısıdır ve Create metodu sadece bir değişken üretmektedir. Sınıf olmadığı için Free gerektirmez. Kulandığınız bileşen windows kütüphanesine bağlı olabilir bu yüzden güncel https protokolleri için update lerinizi tamamlamanızda fayda var. 2018 başlarında bununla ilgili yüklüce güncelleme verildi windowsa. Ben ise denemelere halen devam etmekteyim.
İmam Süleyman Yakub <--> Molla Mustafa Mansur
Evlatlarım!
Cismanımız
TÜRK
ruhumuz ise
İSLAM
.
Bu yolda daim olalım her an.
(14-11-2018, Saat: 09:35)
ahmet_sinav Adlı Kullanıcıdan Alıntı:
@
sabanakman
güncelleme işi benim için çok külfetli olur. Yazılım bir çok ülkede bir çok firma tarafından kullanılıyor. İnşallah sıkıntı çıkmaz. Gerekirse dediğin gibi opsiyonel yaparım.
Indy için
openssl kütüphanesi
(libeay32.dll, ssleay32.dll) gerekebilir. Aynı dertten müzdarip olduğumdan çoklu tercihi mecburen eklemek zorunda kaldım ama havuza bir bilgi daha katması açısından ilgili sistemin güncelleme durumunu öğrenmek isterim. Güncel değilse güncelleyip deneme imkanı var mıdır? Varsa güncelledikten sonra çalışacak mı? Gibi parametrelerin sonucunu imkan varsa öğrenmek faydalı olabilir.
@
sabanakman
indy ile gönderim yapabiliyorum sağolsun Indy problemlerinden dolayı bahsettiğin siteyle baya haşır neşir olduk. Bu siteden dağıtılan dll'ler ile güncelleme yapınca open ssll hatasını geçebiliyorum. Şurada
http://www.delphican.com/overbyte-sslsmt...tirme.html
konuşuldu kısmen ve tnethttpclient'a geçeceğimi söylemiştim.
Benim derdim tek bir hamlede tek bir güncellemede bu sorunu kökten çözmek. İnşallah bahsettiğin gibi bir sorun oluşmaz.
Bu dll'lerle ilgili şu var en güncel dll değil o sisteme uygun dll'i bulmak önemli misalen win2016 server için çalışan ssl library win2002 serverda çalışmıyor. veya win7'de çalışan win10'da çalışmıyor. Build numarasının bile farkettiği durumlar çok denk geldi. Sırayla dll dosyasını indirip servisi kontrol edip "heaa bu çalışıyor şükür" deyip konuyu kapattım hep. Çözüm mü değil 3 gün sonra o serverda bir güncelleme oluyor yine sorun.
İmam Süleyman Yakub <--> Molla Mustafa Mansur
Evlatlarım!
Cismanımız
TÜRK
ruhumuz ise
İSLAM
.
Bu yolda daim olalım her an.