Yorumları: 172
Konuları: 16
Kayıt Tarihi: 10-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 5.340 Üstad
Merhaba değerli üyeler ,
Delphi Tokyo (10.2) dahil olmak üzere Soap Web Servis istemci uygulamaları tarafında gerek zaman aşımını ayarlama gerekse ek HTTP Header bilgisi eklemek amacıyla ,
THTTPRIO nesnesinin WebNode özelliğinin BeforePost olayını aşağı da ki gibi kullanıyordum;
procedure TForm1.rio1HTTPWebNode1BeforePost(
const HTTPReqResp: THTTPReqResp; Data: Pointer);
var TimeOut : integer;
intUserName , intPassWord : String ;
begin
TimeOut := 600000; // 10dk = (1000 * 60 * 10) ;
InternetSetOption(Data,
INTERNET_OPTION_RECEIVE_TIMEOUT,
Pointer(@TimeOut),
SizeOf(TimeOut));
intUserName := 'blabla';
intPassWord := 'blabla';
HttpAddRequestHeaders(Data, PChar(intUserName),
Length(intUserName), HTTP_ADDREQ_FLAG_ADD);
HttpAddRequestHeaders(Data, PChar(intPassWord),
Length(intPassWord), HTTP_ADDREQ_FLAG_ADD);
end;
Delphi 10.2 ye kadar aşağıdaki gibi olan metodun deseni ;
procedure TForm1.rio1HTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp; Data: Pointer);
Delphi RIO (10.3) itibariyle aşağıda ki gibi değişti ;
procedure TForm1.rio1HTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp; Client: THTTPClient);
Data yerine Client geldi,
Sorunuma geçmeden önce aydınlatıcı bir bilgi olarak , üstteki olan metodu içinde dönüş zaman aşımını uygulamak için ek yönteme gerek kalmadı THTTPRIO.HTTPWebNode.ReceiveTimeOut özelliği olarak eklendi, dolayısıyla InternetSetOption API sini kullanmaya gerek kalmamış oldu.
Ancak halen HttpAddRequestHeaders API sini kullanarak ek başlık gilbisi gönderme ihtiyacım var , ancak API nin talep ettiği Request in Pointer bilgisini önceden aldığım Data değişkeni yeni metodda yer almadığı için takıldım, Data yerine gelen Client nesnesi ile yol almak gerekir düşüncesindeyim.
Yorumları: 172
Konuları: 16
Kayıt Tarihi: 10-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 5.340 Üstad
(30-03-2020, Saat: 14:14)vkamadan Adlı Kullanıcıdan Alıntı: Merhaba değerli üyeler ,
Delphi Tokyo (10.2) dahil olmak üzere Soap Web Servis istemci uygulamaları tarafında gerek zaman aşımını ayarlama gerekse ek HTTP Header bilgisi eklemek amacıyla ,
THTTPRIO nesnesinin WebNode özelliğinin BeforePost olayını aşağı da ki gibi kullanıyordum;
procedure TForm1.rio1HTTPWebNode1BeforePost(
const HTTPReqResp: THTTPReqResp; Data: Pointer);
var TimeOut : integer;
intUserName , intPassWord : String ;
begin
TimeOut := 600000; // 10dk = (1000 * 60 * 10) ;
InternetSetOption(Data,
INTERNET_OPTION_RECEIVE_TIMEOUT,
Pointer(@TimeOut),
SizeOf(TimeOut));
intUserName := 'blabla';
intPassWord := 'blabla';
HttpAddRequestHeaders(Data, PChar(intUserName),
Length(intUserName), HTTP_ADDREQ_FLAG_ADD);
HttpAddRequestHeaders(Data, PChar(intPassWord),
Length(intPassWord), HTTP_ADDREQ_FLAG_ADD);
end;
Delphi 10.2 ye kadar aşağıdaki gibi olan metodun deseni ;
procedure TForm1.rio1HTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp; Data: Pointer);
Delphi RIO (10.3) itibariyle aşağıda ki gibi değişti ;
procedure TForm1.rio1HTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp; Client: THTTPClient);
Data yerine Client geldi,
Sorunuma geçmeden önce aydınlatıcı bir bilgi olarak , üstteki olan metodu içinde dönüş zaman aşımını uygulamak için ek yönteme gerek kalmadı THTTPRIO.HTTPWebNode.ReceiveTimeOut özelliği olarak eklendi, dolayısıyla InternetSetOption API sini kullanmaya gerek kalmamış oldu.
Ancak halen HttpAddRequestHeaders API sini kullanarak ek başlık gilbisi gönderme ihtiyacım var , ancak API nin talep ettiği Request in Pointer bilgisini önceden aldığım Data değişkeni yeni metodda yer almadığı için takıldım, Data yerine gelen Client nesnesi ile yol almak gerekir düşüncesindeyim.
Merhaba ,
ilgili metoda yeni gelen Client:THTTPClient nesnesinde yer alan CustomHeaders koleksiyonuyla işi çözebiliyoruz.
Client.CustomHeaders['login_username'] := 'blabla';
Client.CustomHeaders['login_password'] := 'blabla';
Aslında gayet güzel olmuş derli toplu ancak dokümantasyon olmayınca keşfetmek vakit alıyor.
Yorumları: 15
Konuları: 0
Kayıt Tarihi: 11-04-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 42 Başlangıç
(31-03-2020, Saat: 09:46)vkamadan Adlı Kullanıcıdan Alıntı: (30-03-2020, Saat: 14:14)vkamadan Adlı Kullanıcıdan Alıntı: Merhaba değerli üyeler ,
Delphi Tokyo (10.2) dahil olmak üzere Soap Web Servis istemci uygulamaları tarafında gerek zaman aşımını ayarlama gerekse ek HTTP Header bilgisi eklemek amacıyla ,
THTTPRIO nesnesinin WebNode özelliğinin BeforePost olayını aşağı da ki gibi kullanıyordum;
procedure TForm1.rio1HTTPWebNode1BeforePost(
const HTTPReqResp: THTTPReqResp; Data: Pointer);
var TimeOut : integer;
intUserName , intPassWord : String ;
begin
TimeOut := 600000; // 10dk = (1000 * 60 * 10) ;
InternetSetOption(Data,
INTERNET_OPTION_RECEIVE_TIMEOUT,
Pointer(@TimeOut),
SizeOf(TimeOut));
intUserName := 'blabla';
intPassWord := 'blabla';
HttpAddRequestHeaders(Data, PChar(intUserName),
Length(intUserName), HTTP_ADDREQ_FLAG_ADD);
HttpAddRequestHeaders(Data, PChar(intPassWord),
Length(intPassWord), HTTP_ADDREQ_FLAG_ADD);
end;
Delphi 10.2 ye kadar aşağıdaki gibi olan metodun deseni ;
procedure TForm1.rio1HTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp; Data: Pointer);
Delphi RIO (10.3) itibariyle aşağıda ki gibi değişti ;
procedure TForm1.rio1HTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp; Client: THTTPClient);
Data yerine Client geldi,
Sorunuma geçmeden önce aydınlatıcı bir bilgi olarak , üstteki olan metodu içinde dönüş zaman aşımını uygulamak için ek yönteme gerek kalmadı THTTPRIO.HTTPWebNode.ReceiveTimeOut özelliği olarak eklendi, dolayısıyla InternetSetOption API sini kullanmaya gerek kalmamış oldu.
Ancak halen HttpAddRequestHeaders API sini kullanarak ek başlık gilbisi gönderme ihtiyacım var , ancak API nin talep ettiği Request in Pointer bilgisini önceden aldığım Data değişkeni yeni metodda yer almadığı için takıldım, Data yerine gelen Client nesnesi ile yol almak gerekir düşüncesindeyim.
Merhaba ,
ilgili metoda yeni gelen Client:THTTPClient nesnesinde yer alan CustomHeaders koleksiyonuyla işi çözebiliyoruz.
Client.CustomHeaders['login_username'] := 'blabla';
Client.CustomHeaders['login_password'] := 'blabla';
Aslında gayet güzel olmuş derli toplu ancak dokümantasyon olmayınca keşfetmek vakit alıyor.
Üstat aynı metotları ( hatta fazladan birkaç yolda ) denedik ancak biz hata almaya devam ediyoruz?
Client.CustomHeaders['Authorization'] := 'Basic ' + IdEncoderMIME1.EncodeString('user:password');
Girdim İlim Meclisine,
Eyledim Kıldım Talep,
Dediler İlim Geride,
İlla Edep İlla Edep.
Yunus Emre
Yorumları: 172
Konuları: 16
Kayıt Tarihi: 10-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 5.340 Üstad
(26-12-2021, Saat: 01:13)idealist Adlı Kullanıcıdan Alıntı: (31-03-2020, Saat: 09:46)vkamadan Adlı Kullanıcıdan Alıntı: Merhaba ,
ilgili metoda yeni gelen Client:THTTPClient nesnesinde yer alan CustomHeaders koleksiyonuyla işi çözebiliyoruz.
Client.CustomHeaders['login_username'] := 'blabla';
Client.CustomHeaders['login_password'] := 'blabla';
Aslında gayet güzel olmuş derli toplu ancak dokümantasyon olmayınca keşfetmek vakit alıyor.
Üstat aynı metotları ( hatta fazladan birkaç yolda ) denedik ancak biz hata almaya devam ediyoruz?
Client.CustomHeaders['Authorization'] := 'Basic ' + IdEncoderMIME1.EncodeString('user:password');
Merhaba ,
HTTP Basic Auth için ek header eklemenize gerek yok ,
HTTPRIO nesnenizin HTTPWebNode özelliği altındaki UserName ve Password alanlarını doldurmanız yeterli.
Yorumları: 15
Konuları: 0
Kayıt Tarihi: 11-04-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 42 Başlangıç
26-12-2021, Saat: 15:18
(Son Düzenleme: 26-12-2021, Saat: 16:15, Düzenleyen: idealist.)
(26-12-2021, Saat: 13:30)vkamadan Adlı Kullanıcıdan Alıntı: (26-12-2021, Saat: 01:13)idealist Adlı Kullanıcıdan Alıntı: Üstat aynı metotları ( hatta fazladan birkaç yolda ) denedik ancak biz hata almaya devam ediyoruz?
Client.CustomHeaders['Authorization'] := 'Basic ' + IdEncoderMIME1.EncodeString('user:password');
Merhaba ,
HTTP Basic Auth için ek header eklemenize gerek yok ,
HTTPRIO nesnenizin HTTPWebNode özelliği altındaki UserName ve Password alanlarını doldurmanız yeterli.
Cevap için tekrar teşekkürler Üstat,
Portal Kullanıcı bilgilerini Şifresiz göndermemiz gerekiyormuş... Biz şifreli gönderdiğimiz için hata alıyormuşuz... @mksoft Üstadın da yardımıyla çözüme ulaştık
Girdim İlim Meclisine,
Eyledim Kıldım Talep,
Dediler İlim Geride,
İlla Edep İlla Edep.
Yunus Emre
|