Sådan sender du en lokal fil som HTTP POST-anmodning med curl

Hvordan kan indholdet af en lokal fil på stien path/to/my-file.txt sendes som en HTTP POST-anmodning til URL-endepunktet http://example.com/ ved hjælp af kommandoer som curl? Er det nødvendigt at skrive et shell-script, og hvordan kunne det i så fald se ud?

For at sende indholdet af en lokal fil som en HTTP POST-anmodning ved hjælp af curl, kan du bruge kommandoen `curl -X POST -d @path/to/my-file.txt http://example.com/`.

Sådan sender du indholdet af en lokal fil som en HTTP POST-anmodning ved hjælp af curl

For at sende indholdet af en lokal fil på stien path/to/my-file.txt som en HTTP POST-anmodning til URL-endepunktet http://example.com/ ved hjælp af curl, kan du bruge følgende kommando:

curl -X POST -d @path/to/my-file.txt http://example.com/

Her er en forklaring på de anvendte parametre:

  • -X POST: Angiver, at HTTP-metoden skal være POST.
  • -d @path/to/my-file.txt: Angiver, at dataene, der skal sendes i POST-anmodningen, skal læses fra filen path/to/my-file.txt. @-symbolet fortæller curl, at det skal læse data fra en fil.

Er det nødvendigt at skrive et shell-script?

Det er ikke nødvendigt at skrive et shell-script, hvis du blot vil sende en enkelt POST-anmodning. Du kan køre curl-kommandoen direkte fra kommandolinjen. Men hvis du har brug for at sende flere anmodninger eller automatisere processen, kan det være nyttigt at skrive et shell-script.

Eksempel på et shell-script

Her er et eksempel på, hvordan et shell-script kunne se ud:

#!/bin/bash

# Definer variabler
FILE_PATH="path/to/my-file.txt"
URL="http://example.com/"

# Send POST-anmodning med curl
curl -X POST -d @$FILE_PATH $URL

For at køre dette script skal du:

  1. Oprette en ny fil, f.eks. send_post_request.sh.
  2. Kopiere ovenstående script ind i filen.
  3. Gøre filen eksekverbar ved at køre kommandoen chmod +x send_post_request.sh.
  4. Køre scriptet ved at køre kommandoen ./send_post_request.sh.

Dette script læser indholdet af filen path/to/my-file.txt og sender det som en HTTP POST-anmodning til http://example.com/ ved hjælp af curl.