Q:

Post request in curl throwing error

I execute this curl request from command line:
 curl -X POST https://www.googleapis.com/bigquery/v2/projects/projname/queries?key={AIzaSyB740elm45sh9AkpuaekZW8eJbRi_oDDAc} \ 

After this command, I have a list of parameters to be passed:
{ 
 "query": "SELECT * FROM [red-road-574:TestSridevi.Trucks] LIMIT 20", 
 "defaultDataset": { 
  "datasetId": "TestSridevi", 
  "projectId": "red-road-574" 
 } 
}

Bur after executing the first command itself, I get the error:
<!DOCTYPE html>
<html lang=en>
  <meta charset=utf-8>
  <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
  <title>Error 411 (Length Required)!!1</title>
  <style>
    *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
  </style>
  <a href=//www.google.com/><span id=logo aria-label=Google></span></a>
  <p><b>411.</b> <ins>That’s an error.</ins>
  <p>POST requests require a <code>Content-length</code> header.  <ins>That’s all we know.</ins>

Any advice on how to resolve this would be appreciated.

A:

This will probably work: 
curl -X POST -d "" https://www.googleapis.com/bigquery/v2/projects/projname/queries?key={AIzaSyB740elm45sh9AkpuaekZW8eJbRi_oDDAc}
The error message said that POST requests needs their Content-length header field filled out, which you did not provide. The -d "" switch fills out that for you. You could also just send a GET request instead, for which you don't need to provide the switch.

