Ich muss eine POST-Anfrage über Curl über die Befehlszeile stellen. Die Daten für diese Anforderung befinden sich in einer Datei. Ich weiß, dass dies über PUT mit der --upload-file
Option möglich ist.
curl host:port/post-file -H "Content-Type: text/xml" --data "contents_of_file"
http
curl
http-post
command-line-interface
züchten
quelle
quelle
Antworten:
Sie suchen nach dem
--data-binary
Argument:Druckt im obigen Beispiel
-i
alle Überschriften aus, damit Sie sehen können, was los ist, und-X POST
macht deutlich, dass dies ein Beitrag ist. Beide können sicher weggelassen werden, ohne das Verhalten auf dem Draht zu ändern. Dem Pfad zur Datei muss ein@
Symbol vorangestellt sein , damitcurl
Sie aus einer Datei lesen können.quelle
.xml
@
Teil ist extrem wichtig!-d
wird dazu führencurl
, dass Zeilenumbrüche entfernt werden, aber--data-binary
nicht.Alles, was Sie tun müssen, ist, das
--data
Argument mit einem@
: zu beginnen.Wenn Sie beispielsweise die Daten in einer Datei namens haben
stuff.xml
, würden Sie Folgendes tun:Der
stuff.xml
Dateiname kann mit einem relativen oder vollständigem Pfad zur Datei ersetzt werden:@../xml/stuff.xml
,@/var/tmp/stuff.xml
...quelle
--data "name@stuff"
.Wenn Sie zum Hochladen von Dateien Formulardaten verwenden, in denen ein Parametername angegeben werden muss, können Sie Folgendes verwenden:
curl -X POST -i -F "parametername=@filename" -F "additional_parm=param2" host:port/xxx
quelle
parametername=
hat mir wirklich geholfen :)Die meisten Antworten sind hier perfekt, aber als ich wegen meines speziellen Problems hier gelandet bin, muss ich eine Binärdatei (XLSX-Tabelle) mithilfe der POST-Methode hochladen. Eines fehlt , dh normalerweise ist es nicht nur die Datei, die Sie laden mehr Formulardatenelemente , wie Kommentar zu Datei oder Tags zu Datei usw., wie es mein Fall war. Daher möchte ich es hier hinzufügen, da es mein Anwendungsfall war, damit es anderen helfen kann.
quelle
Ich musste eine HTTP-Verbindung verwenden, da es unter HTTPS eine Standardbeschränkung für die Dateigröße gibt.
https://techcommunity.microsoft.com/t5/IIS-Support-Blog/Solution-for-Request-Entity-Too-Large-error/ba-p/501134
quelle