how.wtf

How to make a PUT request using curl

· Thomas Taylor

For more information about curl, checkout the “What is curl” article. This article will discuss how to interact with an API using PUT requests through curl.

Make a simple PUT request

The basic syntax for sending a PUT request using curl is:

1curl -X PUT https://example.com

The -X argument accepts an HTTP method for interacting with the server. For HTTP, valid values include: GET (default), POST, PUT, DELETE, etc.

NOTE: The -X flag is a shorthand for --request. Either can be used.

Make a PUT request with data

Users can send data along with a PUT request.

1curl -X PUT -d "title=newtitle&body=newbody" \
2	https://jsonplaceholder.typicode.com/posts/1

In the example above, a PUT request is sent to the JSONPlaceholder API to update an existing post (1) with a title of newtitle and a body of newbody.

The default Content-Type is application/x-www-form-urlencoded.

NOTE: The -d flag is a shorthand for --data. Either can be used.

Make a PUT request with JSON body

Users may optionally send JSON data in their request payloads.

Making a PUT request with JSON

1curl -X PUT \
2	-H 'Content-Type: application/json' \
3	-d '{"title":"newtitle","body":"newbar"}' \
4	https://jsonplaceholder.typicode.com/posts/1

In the example above, a PUT request is sent to the JSONPlaceholder API to update an existing post (1) with a title of newtitle and a body of newbody.

The -H flag accepts a Key: value string that represents a header. In the above case, it sets the content type: Content-Type: application/json.

NOTE: The -H flag is a shorthand for --header. Either can be used.

Making a PUT request with a JSON file

In addition to text, the -d parameter accepts a file using the syntax @filename.

If a file is named post.json

1{ 
2	"title": "newtitle",
3	"body": "newbody"
4}

then curl can pass on its contents:

1curl -X PUT \
2	-H 'Content-Type: application/json' \
3	-d @post.json \
4	https://jsonplaceholder.typicode.com/posts/1

#linux  

Reply to this post by email ↪