Skip to main content

How to send a payload to an HTTP server using Linux commands Curl and Wget

 Here's how to send a payload to an HTTP server using Linux commands:

1. Choose your tool:

  • curl: More versatile, supports various HTTP methods and payload formats.
  • wget: Simpler for basic GET requests and file downloads.

2. Construct the command:

a. Using curl:

  • Specify the HTTP method:
    • GET: curl http://example.com
    • POST: curl -X POST http://example.com
    • PUT: curl -X PUT http://example.com
  • Attach the payload:
    • Form data: --data "param1=value1&param2=value2"
    • Raw data: --data-binary @file.txt (Reads data from a file)
    • JSON data: --header "Content-Type: application/json" --data '{"key": "value"}'

Example (POST request with form data):

Bash
curl -X POST http://example.com/form \
     --data "name=John&email=johndoe@example.com"

b. Using wget (for simple GET requests):

Bash
wget http://example.com/data?param1=value1

3. Replace placeholders:

  • http://example.com: The actual server URL
  • /form: The specific endpoint on the server
  • param1, value1, etc.: The parameters and values in your payload

4. Additional options (curl):

  • --header "Authorization: Bearer your_token": For authentication
  • --output response.txt: To save the server response to a file
  • --verbose: For more detailed output

Remember:

  • Adapt the commands to your specific use case and server requirements.
  • Consult the manual pages for curl and wget for more options and details.

Comments