AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Proxy-Server leitet keine https-Seiten weiter
Thema durchsuchen
Ansicht
Themen-Optionen

Proxy-Server leitet keine https-Seiten weiter

Ein Thema von skyobserver · begonnen am 24. Okt 2007 · letzter Beitrag vom 30. Okt 2007
 
Benutzerbild von skyobserver
skyobserver

Registriert seit: 18. Mai 2005
Ort: Ense
114 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Proxy-Server leitet keine https-Seiten weiter

  Alt 24. Okt 2007, 15:54
Hallo zusammen,

ich möchte mit einem selbstgeschrieben Proxy-Server Internet-Seiten filtern.
Den bisher geschriebenen Code habe ich aus vielen Beiträgen aus der DP zusammen-
gesucht (verwende Delphi7 und Indy9):

Delphi-Quellcode:
procedure TfrmMain.IdhttpserverProxyCommandGet(AThread: TIdPeerThread;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
  Method: TIdHTTPMethod;
  Source, Dest: TStream;
  Url: AnsiString;
begin
  try
    AResponseInfo.ContentText := '';

    if Pos('ups.com', ARequestInfo.Host) = 0 then Exit; //Nur "ups.com"-Seiten zulassen

    try
      while idhttpProxy.Tag = 1 do Application.ProcessMessages;

      idhttpProxy.Tag := 1;

      if ARequestInfo.Command = 'GETthen Method := hmGet
      else if ARequestInfo.Command = 'POSTthen Method := hmPost
      else if ARequestInfo.Command = 'HEADthen Method := hmHead
      else
      begin
        AResponseInfo.ResponseNo := 501;
        Exit;
      end;

      Source := nil;
      Dest := nil;
      if Method <> hmHead then
      begin
        AResponseInfo.ContentStream := TMemoryStream.Create;
        if Method = hmPost then Source := ARequestInfo.PostStream;
        Dest := AResponseInfo.ContentStream;
      end;

      Url := 'http://'+ARequestInfo.Host+ARequestInfo.Document;
      if Length(ARequestInfo.QueryParams) > 0 then Url := Url+'?'+ARequestInfo.QueryParams;

      idhttpProxy.DoRequest(Method, Url, Source, Dest);
    finally
      AResponseInfo.ResponseNo := idhttpProxy.Response.ResponseCode;
      AResponseInfo.ResponseText := idhttpProxy.Response.ResponseText;
      AResponseInfo.RawHeaders.Assign(idhttpProxy.Response.RawHeaders);

      idhttpProxy.Tag := 0;
    end;
  except
  end;
end;
Die Prozedur gestattet nur das Laden von Internet-Seiten von Hosts mit "ups.com".
Das funktioniert soweit ganz gut...nur wenn man sich über eine https-Seite anmelden
muß klappt's nicht mehr...

Ich habe schon den Indy Http-Client und -Server Komponenten einen SSL-IO-Handler hinzugefügt
(habe ich hier irgendwo gelesen) und die SSL-DLLs für Indy besorgt, aber Zugriffe auf
"https://..." werden völlig ignoriert!?!

Hat jemand eine Idee was fehlt?

Habe von einer Indy HTTP-Proxy Komponente gelesen - finde ich aber bei mir nicht...
Die größte Enttäuschung für einen Perfektionisten ist die Realität
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz