Starting in curl 7.55.0 (since this commit), you can tell curl to read custom headers from a file. A feature that has been asked for numerous times in the past, and the answer has always been to write a shell script to do it. Like this:
#!/bin/sh while read line; do args="$args -H '$line'"; done curl $args $URL
That’s now a response of the past (or for users stuck on old curl versions). We can now instead tell curl to read headers itself from a file using the curl standard @filename way:
$ curl -H @headers https://example.com
… and this also works if you want to just send custom headers to the proxy you do CONNECT to:
$ curl --proxy-headers @headers --proxy proxy:8080 https://example.com/
(this is a pure curl tool change that doesn’t affect libcurl, the library)