Tüm Platformlar için Hızlı Uygulama Geliştirme Kitabı... Delphi
Ön Sipariş Talebinde Bulunan Üyelerimiz
Sipariş Talebinde Bulunan Üyelerimiz

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
10.3 rio Soap SOAPHTTPTrans.pas ProxyByPass
#1
Merhaba, 10.3 rio kullanan arkadaşlar SOAPHTTPTrans.pas içerisinde property  ProxyByPass kodu varmı bakabilirmi? 10.2.3 sürümünde var ama 10.3 de kaldırılmış görünüyor
10.3 de bu SOAPHTTPTrans.pas 651 satır 10.2.3 de 1603 satır görünüyor

“Do. Or do not. There is no try.”
Cevapla
#2
Bende kodlar yok ama yardım dosyasına göre RIO'da da var gözüküyor:
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
There's no place like 127.0.0.1
WWW
Cevapla
#3
Merhaba @SimaWB 

- Ben şu sıralar başlığa cevap yazmak üzereyken de aynı yerde gördüm ancak dosyaları araştırdığımda yer almadığını gördüm. 

@masteryoda

- ( Community Edition ) Delphi RIO 10.3 yüklü Dosya yolu ve adı

Kod:
c:\Program Files (x86)\Embarcadero\Studio\20.0\source\soap\Soap.SOAPHTTPTrans.pas

İçinde bahsettiğiniz property maalesef mevcut değil ... Exclamation

- Eski yeni bir karşılaştırma yaptım. Property listesinde geçen ProxyByPass için kullanıldığı yer ESKİDEN aşağıdaki şekilde bir CONNECT procedure içinde yer alıyormuş. Bu yenisinde Connect'e de yer verilmemiş.  
- Ancak burada ( eski versiyondaki halinde ) şuna dikkat ettim. IFNDEF USE INDY direktifi... Huh

{$IFNDEF USE_INDY}

procedure THTTPReqResp.Connect(Value: Boolean);
var
 AccessType: Integer;
begin
 if Value then
 begin
   { Yes, but what if we're connected to a different Host/Port?? }
   { So take advantage of a cached handle, we'll assume that
     Connect(False) will be called explicitly when we're switching
     Host. To that end, SetURL always disconnects }
   if (FConnected) then
     Exit;

   { Proxy?? }
   if Length(FProxy) > 0 then
     AccessType := INTERNET_OPEN_TYPE_PROXY
   else
     AccessType := INTERNET_OPEN_TYPE_PRECONFIG;

   { Also, could switch to new API introduced in IE4/Preview2}
   if InternetAttemptConnect(0) <> ERROR_SUCCESS then
     SysUtils.Abort;

   FInetRoot := InternetOpen(PChar(FAgent), AccessType, PChar(FProxy), PChar(FProxyByPass), 0);
   Check(not Assigned(FInetRoot));
   try
     FInetConnect := InternetConnect(FInetRoot, PChar(FURLHost), FURLPort, PChar(FUserName),
       PChar(FPassword), INTERNET_SERVICE_HTTP, 0, Cardinal(Self));
     Check(not Assigned(FInetConnect));
     FConnected := True;
   except
     on E: Exception do
     begin
       InternetCloseHandle(FInetRoot);
       FInetRoot := nil;
       raise ESOAPHTTPException.Create(E.Message);
     end;
   end;
 end
 else
 begin
   if Assigned(FInetConnect) then
     InternetCloseHandle(FInetConnect);
   FInetConnect := nil;
   if Assigned(FInetRoot) then
     InternetCloseHandle(FInetRoot);
   FInetRoot := nil;
   FConnected := False;
 end;
end;

Ben de yeni versiyonda INDY yakasında alternatif var mı diye araştırdım şuna ulaştım.

Bunu başka bir unit altında yer verilmiş
c:\Program Files (x86)\Embarcadero\Studio\20.0\source\data\dsnap\Datasnap.Win.SConnect.pas

burada TWebConnection altında ProxyByPass yer alıyor. Idea

  TWebConnection = class(TStreamedConnection, ITransport)
  private
    FAgent: string;
    FUserName: string;
    FPassword: string;
    FURL: string;
    FURLHost: string;
    FURLSite: string;
    FURLPort: Integer;
    FURLScheme: Integer;
    FProxy: string;
    FProxyByPass: string;
    FInetRoot: HINTERNET;
    FInetConnect: HINTERNET;
    FInterpreter: TCustomDataBlockInterpreter;
    procedure Check(Error: Boolean);
    function IsURLStored: Boolean;
    procedure SetURL(const Value: string);
  protected
    { ITransport }
    function GetInterpreter: TCustomDataBlockInterpreter; override;
    function GetWaitEvent: THandle; stdcall;
    function Transport_GetConnected: Boolean; stdcall;
    function ITransport.GetConnected = Transport_GetConnected;
    procedure Transport_SetConnected(Value: Boolean); stdcall;
    procedure ITransport.SetConnected = Transport_SetConnected;
    function Receive(WaitForInput: Boolean; Context: NativeInt): IDataBlock; stdcall;
    function Send(const Data: IDataBlock): NativeInt; stdcall;
    procedure SetConnected(Value: Boolean); override;
  protected
    function CreateTransport: ITransport; override;
    procedure DoConnect; override;
    [Default(False)]
    property SupportCallbacks default False;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property Agent: string read FAgent write FAgent;
    property UserName: string read FUserName write FUserName;
    property Password: string read FPassword write FPassword;
    [Stored('IsURLStored')]
    property URL: string read FURL write SetURL stored IsURLStored;
    property Proxy: string read FProxy write FProxy;
    property ProxyByPass: string read FProxyByPass write FProxyByPass;
    property ObjectBroker;
  end;


Buradaki PROCEDURE  Transport_SetConnected olarak yer alıyor.

procedure TWebConnection.Transport_SetConnected(Value: Boolean);
var
 AccessType: Integer;
begin
 if Value and not GetConnected then
 begin
   if Length(FProxy) > 0 then
     AccessType := INTERNET_OPEN_TYPE_PROXY else
     AccessType := INTERNET_OPEN_TYPE_PRECONFIG;
   FInetRoot := InternetOpen(PChar(Agent), AccessType, PChar(FProxy), PChar(FProxyByPass), 0);
   if InternetAttemptConnect(0) <> ERROR_SUCCESS then System.SysUtils.Abort;
   Check(not Assigned(FInetRoot));
   try
     FInetConnect := InternetConnect(FInetRoot, PChar(FURLHost), FURLPort, PChar(FUserName),
       PChar(FPassword), INTERNET_SERVICE_HTTP, 0, DWORD_PTR(Self));
     Check(not Assigned(FInetConnect));
   except
     InternetCloseHandle(FInetRoot);
   end;
 end else
 if not Value then
 begin
   if Assigned(FInetConnect) then
     InternetCloseHandle(FInetConnect);
   FInetConnect := nil;
   if Assigned(FInetRoot) then
     InternetCloseHandle(FInetRoot);
   FInetRoot := nil;
 end;
end;
(04-12-2018, Saat: 16:42)masteryoda Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba, 10.3 rio kullanan arkadaşlar SOAPHTTPTrans.pas içerisinde property  ProxyByPass kodu varmı bakabilirmi? 10.2.3 sürümünde var ama 10.3 de kaldırılmış görünüyor
10.3 de bu SOAPHTTPTrans.pas 651 satır 10.2.3 de 1603 satır görünüyor
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#4
Bilgilendirme için çok teşekkürler @mrmarman .
O zaman @masteryoda da benim gibi help'te bunu görmüştür tahminen.
Sizin vesilenizle güncel versiyonlarda yardım dosyalarına çok da güvenmemek gerektiğini öğrendik Sad 
Yada (iyimser olalım) hepimizin atladığı bir şey mi var  Confused
There's no place like 127.0.0.1
WWW
Cevapla
#5
(04-12-2018, Saat: 17:54)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBilgilendirme için çok teşekkürler @mrmarman .
O zaman @masteryoda da benim gibi help'te bunu görmüştür tahminen.
Sizin vesilenizle güncel versiyonlarda yardım dosyalarına çok da güvenmemek gerektiğini öğrendik Sad 
Yada (iyimser olalım) hepimizin atladığı bir şey mi var  Confused

@mrmarman  teşekkürler, yardım dosyasına baktım orada görünüp kodlarda görünmeyince bizde mi bir hata var dedim demek sadece bizde değilmiş ne diyelim Embarcadero sağolsun.

“Do. Or do not. There is no try.”
Cevapla
#6
RESTClient1.Disconnect;
procedure TCustomRESTClient.Disconnect;
begin
  // Do nothing
end;

Metoda gittiğimde boş görünüyor sizce neden böyle?

“Do. Or do not. There is no try.”
Cevapla
#7
(06-12-2018, Saat: 15:03)masteryoda Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
RESTClient1.Disconnect;
procedure TCustomRESTClient.Disconnect;
begin
  // Do nothing
end;

Metoda gittiğimde boş görünüyor sizce neden böyle?

TCustomRESTClient objesi Disconnect; virtual şeklinde tanımlanmıştır, RESTClient kendi objsi içinde Disconnect; override yapılmıştır ve kodu orada tanımlanmıştır.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  soap uygulamaları kayıt çekme goabdullah 6 1.110 04-11-2018, Saat: 22:01
Son Yorum: enes6635
  Soap Requestindeki tem: Tagları yhackup 0 368 18-01-2018, Saat: 09:37
Son Yorum: yhackup
  SOAP içinde TWebbrowser kullanımı hk. barutali 7 1.114 13-07-2017, Saat: 15:44
Son Yorum: yhackup
  Soap Datamodule'de oluşan Hata (ReceiveHeader) yhackup 3 760 02-06-2017, Saat: 16:23
Son Yorum: edo
  Delphi Soap uygulamasında ip yakalama yhackup 2 1.914 21-10-2016, Saat: 16:54
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi