I use curl to send requests to remote servers like following command.
curl http://example.com/send --date-urlencode "data=hello"
However, it is blocked by the network proxy squid in some networks with message like (some info anonymized with "..."):
The requested URL could not be retrieved
POST /... HTTP/1.1
Proxy-Authorization: Basic ...
User-Agent: Mozilla/4.0 (compatible;)
Content-Type: multipart/form-data; boundary=----------------------------...
Similar things happen for the curl command on Linux and programs built with the libcurl library.
If I change the request from POST to GET as follows
curl -G http://example.com/send --date-urlencode "data=hello"
Then the request can pass the proxy just well.
What's wrong here and how to make the curl request pass the Squid proxy?