Home > database >  Curl request to batch or windows command line
Curl request to batch or windows command line

Time:05-07

I would like to create a github repository using a command line/batch script or whatever on windows. This request works on https://reqbin.com/curl, but I can't get it to work on windows. Thanks

curl -i -H "Authorization: token MY_TOKEN"
-d '{
    "name": "test",
    "auto_init": true,
    "private": false
  }' 
https://api.github.com/user/repos

CodePudding user response:

curl on Windows is weird and doesn't recognize ' as a valid character, so you need double quotes for everything. Unfortunately, the only way to have double quotes inside of double quotes is to escape the inner quotes:

curl -ki -X POST -H "Accept: application/vnd.github.v3 json" -u "username:TOKEN" -d "{\"name\": \"test\", \"auto_init\": true, \"private\": false}" https://api.github.com/user/repos

Replace username with your actual username and TOKEN with your auth token. You also need -X POST in order to create repos, and the header string that I've added is optional, but strongly recommended.

(Note that while the escape character in batch is ^, the escape character that curl looks for is \. Like I said, curl on Windows is weird.) I've also put everything on one line because multi-line commands have varying degrees of success, while a one-liner always works (as long as it's valid, of course).

See https://docs.github.com/en/rest/repos/repos#create-a-repository-for-the-authenticated-user for more options.

  • Related