2017-12-05 2 views
1

Ich verwende die CURL-Befehlszeile, um HTTP POST an einen Webdienst zu senden. Ich möchte den Inhalt einer Datei als PART des Hauptteils des POST-Befehls einschließen. Ist das möglich? Ich weiß, dass ich eine Datei als den ganzen Körper senden kann, wie geantwortet here. Aber ich möchte nur einen Teil des Körpers als Inhalt der Datei haben.So senden Sie eine JSON-Datei als Teil des Anfragetexts im CURL POST-Befehl

Zum Beispiel

curl -d '{ "name": "rahul", "speed": "fast", "data": { "number": 1, "letter": "abd", "letter2": "efg"} }' 'http://...' 

Hier möchte ich nur data als den Inhalt der Datei. Nicht der ganze Körper. Wie kann ich das machen?

Antwort

0

eine Variable setzen den Inhalt der Datei enthalten:

data=$(cat filename) 

dann in das JSON ersetzen:

curl -d '{ "name": "rahul", "speed": "fast", "data": ' "$data" ' }' 'http://...' 
+0

der Dateiname hier würde der gesamte Pfad richtig? – b11

+0

Es kann ein beliebiger gültiger Pfad sein, der die Datei erreicht. – Barmar

Verwandte Themen