Seite 2 von 2

Re: HttpClient() Angaben ändern nachträglich

Verfasst: Mo, 31. Jul 2023 7:37
von Manfred
teils teils.
Ich will gar nichts unbedingt recyclen, oder neu machen, oder was auch immer. Ich möchte nur zwischendurch die AbfrageURL ändern um weitere Inhalte im gleichen System abzufragen, mehr nicht.

Re: HttpClient() Angaben ändern nachträglich

Verfasst: Mo, 31. Jul 2023 8:27
von Jan
Hallo Manfred,

also doch recyceln. Andere URL im gleichen Objekt.

Aber wie gesagt - wo ist der Unterschied ein neues HttpClient-Objekt oder ein neues HttpRequestmessage-Objekt zu bauen? Klar, HttpClient benötigt mehr Methoden zur kompletten Konfiguration. Dafür mußt Du mit dem HttpRequestMessage etwas mehr Aufwand treiben das einzubinden und abzufragen.

Jan

Re: HttpClient() Angaben ändern nachträglich

Verfasst: Mo, 31. Jul 2023 9:22
von Manfred
Hi Jan,
deshalb ja meine Frage hier, was besser wäre. Ich kann nur das hier anführen. Meine Frage an Alaska:
ich habe eine Instanz vom HttpClient(). Bei der Neuanlage wird ja die URL angegeben. Kann man diese URL zwischendurch ändern, oder muß man jedesmal eine weitere neue Instanz bilden mit der entsprechenden URL und dann damit arbeiten? Ich habe in der Anleitung nichts dazu gefunden.
Und die Antwort darauf:
Du kannst für jeden Request eigens eine HttpRequestMessage():new( cUrl ) Instanz erzeugen und diese dem HttpClient():send( oHttpRequestMessage ) übergeben. Du bekommst dann von :send() ein HttpResponseMessage geliefert wo du mit :getContent() den Body der HTTP response entnehmen kannst.
Was fange ich damit an?

Re: HttpClient() Angaben ändern nachträglich

Verfasst: Mo, 31. Jul 2023 9:56
von Jan
Damit kannst Du anfangen zu überlegen, ob Du für jeden Request ein eigenes neues HttpClient-Objekt haben möchtest. Oder nur eines, und das mit jedem Request mit einem neuen HttpRequestMessage-Objekt füllst. Deine Entscheidung.

Jan

Re: HttpClient() Angaben ändern nachträglich

Verfasst: Mo, 31. Jul 2023 15:24
von Manfred
ich habe es jetzt so gemacht, das ich das Objekt NILLE und dann einfach neu baue, mit neuen Werten. Mal sehen was passiert, wenn ich das 1000x durchziehe.

Re: HttpClient() Angaben ändern nachträglich

Verfasst: Mo, 31. Jul 2023 16:19
von Tom
Wenn Du das sehr häufig durchziehst, wird es wahrscheinlich ressourcenschonender und schneller werden, wenn Du mit HttpRequestMessage arbeitest.

Re: HttpClient() Angaben ändern nachträglich

Verfasst: Mo, 31. Jul 2023 17:03
von Manfred
Prima, jeztzt sind wir da, wo ich hin wollte und was ich auch zwischendurch gefragt hatte. Was passiert, wenn das x-mal gemacht werden muß. Deshalb meine Bedenken, wenn immer wieder genillt und neu erstellt wird.. Aber auf mich hört ja keiner. :angry4:
Und jetzt die 2.Sache, das mit HttpRequestMessage klappt beir mir nicht. Irgendwas mache ich da wohl falsch. Habe ich aber auch schon mehrmals erwähnt. #-o

Re: HttpClient() Angaben ändern nachträglich

Verfasst: Mo, 31. Jul 2023 19:02
von Jan
Manfred,

nun ja, so ist das ja nicht. Ich habe glaub ich 2x geschrieben das ich viele Abfragen mache, und grundsätzlich immer destroye und NILe. Ohne jedes Problem.

Meine wildeste Geschichte waren mal ca. 400.000 Requests an einen Stück. Hat zwar ein paar Stunden gedauert weil der Server nicht ganz hinterher kam. Hat aber sauber geklappt. Aber so um die 1.000 Requests am Stück mach ich öfters.

Und wie ich oben schrieb: Macht es denn einen Unterschied ob ich 1.000 HtttpClient destroye und NILe, oder 1.000 HttpRequestMessage. Irgend was muß ich 1.000x machen. Da geht wohl nur ausprobieren.

Jan

Re: HttpClient() Angaben ändern nachträglich

Verfasst: Mo, 31. Jul 2023 19:52
von Manfred
ok, bei den Stückzahlen von Dir ermutigt mich das dann es so weiter zu machen. Mal sehen, wie es sich entwickelt

Re: HttpClient() Angaben ändern nachträglich

Verfasst: Do, 03. Aug 2023 8:23
von Manfred
man könnte die ganzen Befehle ja auch per cUrl angeben. Da steht dann alles in einem String. Gibt es eigentlich die Möglichkeit sich das was httpclient() wegschickt auch also kompletten String irgendwie anzuschauen? Ich möchte das gerne mal vergleichen.

Re: HttpClient() Angaben ändern nachträglich

Verfasst: Do, 03. Aug 2023 9:16
von Wolfgang Ciriack
Bei XbHTTPClient geht das mit oHttp:LogResponse := .T., erzeugt dann eine request.txt und eine response.txt.
Bei Alaskas HTTPClient weiß ich das nicht.

Re: HttpClient() Angaben ändern nachträglich

Verfasst: Fr, 04. Aug 2023 7:18
von Jan
Manfred,

wenn Du Dir das mal im ObjectInspector anschaust dann findest Du da eine Menge zusätzlicher Infos. Es gibt z. B. ein

Code: Alles auswählen

cUrlImObjekt    := ohc:httprequest:_crackedurl:extrainfo
Leider funktioniert z. B. genau diese Abfrage das nur in der Workbench im Befehlsfenster - packst Du das in den Code und lässt das laufen gibt es einen Laufzeitfehler, das die Methode unbekannt sei. Bei anderen klappt das aber.

Jan