AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Wie http-Server bestimmten Browser vorgaukeln?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie http-Server bestimmten Browser vorgaukeln?

Ein Thema von Schwedenbitter · begonnen am 25. Jul 2013 · letzter Beitrag vom 27. Jul 2013
Antwort Antwort
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.930 Beiträge
 
Delphi 12 Athens
 
#1

AW: Wie http-Server bestimmten Browser vorgaukeln?

  Alt 25. Jul 2013, 12:22
Das Entscheidende ist da der Useragent. Den musst du auf einen Wert setzen, der einem Browser entspricht.
Falls das bei deiner Funktion nicht geht, würde ich Indy und TIdHttp empfehlen...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Wie http-Server bestimmten Browser vorgaukeln?

  Alt 26. Jul 2013, 08:37
Danke für die Antwort.
Das Entscheidende ist da der Useragent. Den musst du auf einen Wert setzen, der einem Browser entspricht.
Ich benutze ja die Funktion InternetOpen(); . Wenn ich das hier richtig verstehe, dann kann ich den Useragent damit ohne weiteres setzen. Hier habe ich dazu auch etwas gefunden. Allerdings habe ich Verständnisprobleme und möchte nicht ewig mit trial and error experimentieren.
In meinem Programm müsste ich doch dann den String 'InetURL:/1.0' einfach bloß durch z.B. 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)' ersetzen, oder?

Zitat:
Falls das bei deiner Funktion nicht geht, würde ich Indy und TIdHttp empfehlen...
Ich seit Jahrzehnten Gelegenheitsprogrammierer, nutze eine kostenfreie Version von TurboDelphi, wo man keine Komponenten und damit die Indy nicht installieren kann. Ich sehe mich intellektuell auch nicht in der Lage, die Komponenten zur Laufzeit vollständig und richtig von Hand zu initialisieren.
Alex Winzer
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.930 Beiträge
 
Delphi 12 Athens
 
#3

AW: Wie http-Server bestimmten Browser vorgaukeln?

  Alt 26. Jul 2013, 16:10
Ich seit Jahrzehnten Gelegenheitsprogrammierer, nutze eine kostenfreie Version von TurboDelphi, wo man keine Komponenten und damit die Indy nicht installieren kann. Ich sehe mich intellektuell auch nicht in der Lage, die Komponenten zur Laufzeit vollständig und richtig von Hand zu initialisieren.
Pfade zum Quelltext von Indy in den Bibliothekspfad packen und dann so benutzen:
Delphi-Quellcode:
uses
  IdHttp;

var
  HttpLoader: TIdHttp;
  PageContents: String;
begin
  HttpLoader := TIdHttp.Create;
  try
    PageContents := HttpLoader.Get('http://www.example.com');
  finally
    HttpLoader.Free;
  end;
end;
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Wie http-Server bestimmten Browser vorgaukeln?

  Alt 27. Jul 2013, 06:16
Also es gibt eigentlich keinen Grund auf Indy zu wechseln wenn man ausschlieslich HTTP/HTTPS machen möchte.
Mit Indy holt man sich eine Unmenge von Units auf den Rechner, von denen man aber nur einen Bruchteil für HTTP benötigt.
Um mit WinInet den UserAgent zu setzen kannst du die Funktion HttpAddRequestHeaders() verwenden.

Ungefähr so:
Delphi-Quellcode:
if not HttpAddRequestHeaders(
  hRequest,
  'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0'#13#10,
  -1,
  HTTP_ADDREQ_FLAG_ADD or HTTP_ADDREQ_FLAG_REPLACE
  ) then
  RaiseLastWin32Error;
PS:
ich sehe gerade, dass es auch so wie von dir vorgeschlagen gehen müsste:
Zitat:
In meinem Programm müsste ich doch dann den String 'InetURL:/1.0' einfach bloß durch z.B. 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)' ersetzen, oder?
fork me on Github
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:35 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