AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke NetHTTPRequest PUT und api

NetHTTPRequest PUT und api

Ein Thema von arnereu · begonnen am 28. Sep 2022 · letzter Beitrag vom 30. Sep 2022
Antwort Antwort
Seite 1 von 2  1 2   
arnereu

Registriert seit: 28. Sep 2022
5 Beiträge
 
#1

NetHTTPRequest PUT und api

  Alt 28. Sep 2022, 14:56
Hi,
ich würde mich sehr freuen, wenn mir hier jemand helfen könnte.
Ich versuche gerade eine Datei (.csv) mit PUT und NetHTTPRequest zu versenden. Es muss leider PUT sein, da der Server kein anderen Befehl annimmt. Ich muss mich zudem per api anmelden.

In Powershell würde das so aussehen:
Der Client wäre z.B. d329krpq
Invoke-WebRequest `
-UseBasicParsing `
-Uri https://example.com/d329krpq/filename.csv `
-Method PUT `
-InFile filename.csv `
-Headers @{'x-api-key'='lXViWTzFic9sM8Qqe9Ew7JME8xTdBAOMJHdIjK7XkjQ0 0OWr'}

Ganz lieben Dank! Arne
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.772 Beiträge
 
Delphi 12 Athens
 
#2

AW: NetHTTPRequest PUT und api

  Alt 28. Sep 2022, 16:19
Schon mal versucht das mit dem RestDebugger (siehe Tools Menü) nachzustellen?
Das gibt evtl. weitere Hilfestellung.
  Mit Zitat antworten Zitat
arnereu

Registriert seit: 28. Sep 2022
5 Beiträge
 
#3

AW: NetHTTPRequest PUT und api

  Alt 28. Sep 2022, 21:12
Hey,
danke für die schnelle Antwort. Den Rest-Debugger kannte ich noch nicht. Man lernt ja nie aus!
Da bekomme ich eine Fehlermeldung 403 Forbidden...

Gibt es da keine einfache Lösung wie:

NetHTTPRequest1.put(..... <- da komme ich leider nicht weiter. Im Netz hatte ich zu PUT auch nur ganz wenig gefunden. POST ist wohl beliebter. Akzeptiert aber leider der Server nicht.

Zudem müsste diese api "Anmeldung" noch verarbeiten?

Danke! Arne

Geändert von arnereu (28. Sep 2022 um 21:13 Uhr) Grund: Nachtrag
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#4

AW: NetHTTPRequest PUT und api

  Alt 28. Sep 2022, 21:31
Beliebter nicht unbedingt, aber POST/GET/HEAD ist einfach das, was im WWW über HTTP am meisten benutzt wird (für Webseiten) und daher auch hierfür öfters genommen wird.

Im Netz findet man auch viele Beispiele mit CURL ... vielleicht auch die erstmal durchprobieren und wenn es funktioniert, dann Dieses übernehmen und mit REST-Debugger und der Delphi-Komponente nachmachen.

Bei Google suchenWindows CURL
Bei Google suchenWindows Wget PUT
Bei Google suchenWindows CURL PUT
Bei Google suchenWindows CURL PUT REST
...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (28. Sep 2022 um 21:34 Uhr)
  Mit Zitat antworten Zitat
arnereu

Registriert seit: 28. Sep 2022
5 Beiträge
 
#5

AW: NetHTTPRequest PUT und api

  Alt 28. Sep 2022, 21:44
Danke für die Hilfe!
Mit CURL sieht das ganze eigentlich so aus:

curl -v -X PUT https://beispiel.com/d329krpq/filenme.csv
--upload-file filename.csv
--header "x-api-key: lXViWTzFic9sM8Qqe9Ew7JME8xTdBAOMJHdIjK7XkjQ00OWr"

Nur das jetzt so zu übersetzen, dass Delphi damit klar kommt... Daran scheitere ich leider.

LG
Arne
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
308 Beiträge
 
Delphi 12 Athens
 
#6

AW: NetHTTPRequest PUT und api

  Alt 29. Sep 2022, 08:12
Das hier ist das einfachste Beispiel mit Put - allerdings mit NetHttpClient:

NetHttpClient1.Put('https://beispiel.com/d329krpq/filenme.csv', [LokalerPfad]+'\filenme.csv');
Optional kann man bei Put einen Header als TNameValuePair übergeben. Das könnte möglicherweise so aussehen:
Name='x-api-key'
Value='lXViWTzFic9sM8Qqe9Ew7JME8xTdBAOMJHdIjK7XkjQ 00OWr'
Kommt auf einen Versuch an.

Bei normaler Verwendung von Username/Passwort erstellt man ein Ereignis OnAuthEvent:
Delphi-Quellcode:
procedure TFMain.NetHTTPClient1AuthEvent(const Sender: TObject; AnAuthTarget: TAuthTargetType; const ARealm, AURL: string; var AUserName, APassword: string; var AbortAuth: Boolean; var Persistence: TAuthPersistenceType);
begin
if AnAuthTarget = TAuthTargetType.Server then
 begin
 AUserName:='DeinUserName';
 APassword:='DeinPassword';
 end;
end;
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.882 Beiträge
 
Delphi 12 Athens
 
#7

AW: NetHTTPRequest PUT und api

  Alt 29. Sep 2022, 09:25
Vielleicht hilft Dir auch eine etwas integriertere Lösung weiter, wie iPub-Refit ?
  Mit Zitat antworten Zitat
arnereu

Registriert seit: 28. Sep 2022
5 Beiträge
 
#8

AW: NetHTTPRequest PUT und api

  Alt 30. Sep 2022, 08:13
Danke für das Feedback! I komme aber damit leider nicht so klar.
Gibt es vielleicht eine andere Lösung dafür? Ich glaube idHTTP kann kein https verarbeiten? Es muss ja nicht NetHTTPRequest sein.
Ganz lieben Dank! Arne
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#9

AW: NetHTTPRequest PUT und api

  Alt 30. Sep 2022, 09:32
Hier im Forum suchenindy https (eventuell nochmal auf "suche neu definieren" und nach "last post" sortieren)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (30. Sep 2022 um 09:34 Uhr)
  Mit Zitat antworten Zitat
arnereu

Registriert seit: 28. Sep 2022
5 Beiträge
 
#10

AW: NetHTTPRequest PUT und api

  Alt 30. Sep 2022, 13:49
Ich habe mir dieses Video mal angesehen:

https://youtu.be/lQhcvEGeRkw

Ab Minute 02:40 spricht der davon, dass indy kein https verarbeiten kann? Deshalb hatte ich gefragt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz