Wie kann ich mich für eine Anfrage mit Headern in Shell-Skripten kräuseln?
Ich habe versucht, eine CURL-Anweisung wie folgt auszuführen, für die ich die erforderliche Antwort erhalte:
curl -s -POST --header 'Content-Type: application/json' 'http://www.dummy.com/projectname/page_relevance' -d '{"query": "q_string", "results": [{"abstract": "abs_string", "title": "title_string"}, "mode": "value", "cache": true, "source": "value"}'
Aber als ich versuchte, variable Werte an den Parameter "query" zu übergeben, funktionierte die unten erwähnte curl-Anweisung nicht und es wurde eine Fehleranweisung als Antwort festgestellt:
curl -s -POST --header 'Content-Type: application/json' 'http://www.dummy.com/projectname/page_relevance' -d '{"query": "$query_string", "results": [{"abstract": "abs_string", "title": "title_string"}, "mode": "value", "cache": true, "source": "value"}'
ERROR Anweisung:Not Found [CFN # 0005]
Es klapptDies ist die Standardwebseite für diesen Server.
Die Webserver-Software wird ausgeführt, es wurden jedoch noch keine Inhalte hinzugefügt.
Aber ich bin mir sicher, dass die Curl-Anfrage, die ich als zweites mit Variable erstellt habe, der gleichen Curl-Anfrage ähnelt, die ich zuerst ausgeführt habe. Dies wird mit echo getestet, das $ query_string durch den korrekten Wert ersetzt.
Ich habe es auch in einem anderen Ansatz versucht, in dem ich keine Variablen für einzelne Parameter verwendet habe, stattdessen habe ich Folgendes versucht:
a='{"query": "query_value", "results": [{"abstract": "abs_string", "title": "title_string"}, "mode": "value", "cache": true, "source": "value"}'
curl -s -POST --header 'Content-Type: application/json' 'http://www.dummy.com/projectname/page_relevance' -d $a
Ich habe auch versucht, den Wert eines using @ zu ersetze${a}
, "$a"
, '$a'
doch derselbe Fehler wurde beobachtet.