3

I want to continuously post an infinite binary data stream to a webserver. So I'm using the following command:

curl -X POST -H "Transfer-Encoding: chunked" -d 'hello' http://127.0.0.1:9000 

As a test, I'm piping the output of the 'yes' command:

$ yes | curl -X POST -H "Transfer-Encoding: chunked" -d '@-' http://127.0.0.1:9000

But it doesn't even connect to the webserver, and aborts with an out-of-memory error. It seems curl is trying to read the whole file into memory before starting the transfer.

Does curl supports continuously HTTP posting data coming from a pipe? (I'm using curl version 7.61.0).

Thanks!

Ace17
  • 81
  • 2
  • 6

1 Answers1

1

Try with

yes | curl -T. http://127.0.0.1:9000

But you will probably get this known bug :

Or

yes | curl -T- http://127.0.0.1:9000
mick
  • 197
  • 3