AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdHTTPost funktioniert nicht
Thema durchsuchen
Ansicht
Themen-Optionen

IdHTTPost funktioniert nicht

Ein Thema von horstmeyer · begonnen am 9. Aug 2021 · letzter Beitrag vom 16. Aug 2021
Antwort Antwort
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.779 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: IdHTTPost funktioniert nicht

  Alt 10. Aug 2021, 08:46
Es gibt eine Überladung, die TStrings-Nachfahren entgegennimmt.
Ah, ok hatte ich übersehen, Danke
Klaus
  Mit Zitat antworten Zitat
horstmeyer

Registriert seit: 9. Aug 2021
46 Beiträge
 
#2

AW: IdHTTPost funktioniert nicht

  Alt 13. Aug 2021, 12:38
Hallo Leute,

leider bin ich mit meinem Problem noch nicht richtig weitergekommen. Daher wollte ich es mit einem Proxy wie der User CCRDude es vorgeschlagen hat versuchen. Allerdings beide Proxies sind proprietäre Software, die ich in der Firma nicht installieren darf. Daher habe ich mal nach einem Open-Source-Tool gesucht und habe OWASP ZAP gefunden. Allerdings weiß ich auch hier nicht wie man ihn benutzt um HTTP-Request über localhost abzufragen um zu vergleichen was curl macht und welchen Unterschied es zum http.post-Aufruf aus Delphi gibt. Da ein einfacher post mittlerweile funktioniert habe ich den Verdacht, dass es an der Passage "-H "Authorization: Bearer %accesstoken%"" in curl liegt. In Delphi habe ich versucht es wie folgt umzusetzen:

Code:
lHTTP.Request.CustomHeaders.FoldLines := False;
lHTTP.Request.CustomHeaders.Add('Authorization: Bearer '+accesstoken);
Das funktioniert aber leider nicht. Wenn hier einer einen hilfreichen Tipp hat, wäre ich dankbar.


viele Grüße
Horst
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
535 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: IdHTTPost funktioniert nicht

  Alt 13. Aug 2021, 13:55
Was hast Du für eine Delphi Version? Es wäre wirklich besser Du würdest mit einem REST Framework arbeiten.

Vor 10.4.1 habe ich MARS gearbeitet. Ultra einfach und flexibel: https://github.com/andrea-magni/MARS
Jetzt mit der in Delphi integrierten RestApi. Diese ist nun auch (halbwegs) brauchbar
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.

Geändert von taveuni (13. Aug 2021 um 14:05 Uhr) Grund: Edit: Hinweis auf Mars hinzugefügt
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
981 Beiträge
 
Delphi 6 Professional
 
#4

AW: IdHTTPost funktioniert nicht

  Alt 14. Aug 2021, 05:16
Hmm..

Verwende mal folgendes:

Delphi-Quellcode:
      Http.Request.BasicAuthentication := False;
      Http.Request.CustomHeaders.FoldLines := False;
      Http.Request.CustomHeaders.Values['Authorization'] := 'Bearer ' + AToken;
Da es sich bei 'Authorization' nicht um eine BasicAuthentication handelt, kann es sein, dass INDY den Parameter löscht, wenn kein User mit Passwort angegeben ist.

Hiermit kann ich zumindestens eine OST Abfrage unter Verwendung eines Tokens erfolgreich gegen ein Kundensystem laufen lassen.
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
horstmeyer

Registriert seit: 9. Aug 2021
46 Beiträge
 
#5

AW: IdHTTPost funktioniert nicht

  Alt 16. Aug 2021, 09:38
Hallo HolgerX,

danke für das Beispiel. Leider funktioniert es immer noch nicht. Ich bekomme als Rückmeldung 401 unauthorized. Da der Aufruf mit curl ja funktioniert, wird in Delhpi irgendetwas falsch übergeben. Der String im falschen Format übergeben oder es wird etwas abgeschnitten. Leider weiss ich nicht wie ich den http.post "abfangen" kann, so dass ich sehe was wirklich an den connector übergeben wird. Hat hier einer eine Idee?

Viele Grüße
Horst
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: IdHTTPost funktioniert nicht

  Alt 16. Aug 2021, 09:41
Hat hier einer eine Idee?
Demjenigen, der sich den Unsinn an Policy wegen Open-Source Software und kostenloser proprietärer Software in den Schwitzkasten nehmen und rütteln und schütteln?

Mit Telrik Fiddler könntest du in ein paar Minuten den Inhalt vom Beispiel-POST per curl mit deinen Delphi-POST vergleichen und den entscheidenden Unterschied erkennen.
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
535 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: IdHTTPost funktioniert nicht

  Alt 16. Aug 2021, 09:49
Hat hier einer eine Idee?
Wireshark? Ist sogar open source.
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.555 Beiträge
 
Delphi 7 Professional
 
#8

AW: IdHTTPost funktioniert nicht

  Alt 16. Aug 2021, 10:00
401 heißt: Die Anmeldung passt nicht.

Meine Erfahrung: Nicht alle Server arbeiten problemlos mit Indy. Zuweilen hilft es, den Inhalt von UserAgent der HTTP-Komponente mit dem Wert eines aktuellen Browsers "zu versorgen".

Kann helfen, muss aber nicht.

https://developer.mozilla.org/en-US/...ers/User-Agent
  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 17:48 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