Windows:curl:(3) URL 使用错误/非法格式或缺少 URL

use*_*552 3 windows curl cmd gitlab

我在 GitLab 中有一个名为 my_package_registry_2.0.4.0 的现有包注册表。现在,我尝试使用curl命令创建一个新版本,同时将该包注册表添加为资产。我的标签 1.0.0.0 也存在,并且它已在我的存储库中创建。

下面是curl命令(没有里程碑日期,我对此不感兴趣):

curl --header 'Content-Type: application/json' --header "PRIVATE-TOKEN: myTokenHere" --data '{ "name": "2.0.0.0", "tag_name": "1.0.0.0", "description": "Release manually created from API", "assets": { "links": [{ "name": "Release_1.2.0.0", "url": "https://my.gitlab.space/api/v4/projects/197/packages/generic/my_package_registry_2.0.4.0/1.0.0.0/myZipFile.zip", "link_type":"package" }] } }' --request POST "https://my.gitlab.space/api/v4/projects/197/releases"
Run Code Online (Sandbox Code Playgroud)

当我执行它时,它失败了。错误如下:

curl: (6) Could not resolve host: application
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) unmatched brace in URL position 1:
{
 ^
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

尝试#2:如果我使用双引号而不是单引号,我的意思是,替换:

'Content-Type : application/json'
Run Code Online (Sandbox Code Playgroud)

经过

"Content-Type : application/json"
Run Code Online (Sandbox Code Playgroud)

然后我得到以下错误:

curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) unmatched brace in URL position 1:
{
 ^
Run Code Online (Sandbox Code Playgroud)

use*_*552 9

最后我解决了它,从 cmd.exe 执行它需要将所有内容放在双引号内,并在其他双引号内转义双引号,如下所示:

curl --header "Content-Type: application/json" --header "PRIVATE-TOKEN: myTokenHere" --data "{ \"name\": \"2.0.0.0\", \"tag_name\": \"1.0.0.0\", \"description\": \"Release manually created from API\", \"assets\": { \"links\": [{ \"name\": \"Release_1.2.0.0\", \"url\": \"https://my.gitlab.space/api/v4/projects/197/packages/generic/my_package_registry_2.0.4.0/1.0.0.0/myZipFile.zip\", \"link_type\":\"package\" }] } }" --request POST "https://my.gitlab.space/api/v4/projects/197/releases"
Run Code Online (Sandbox Code Playgroud)