首页 文章

使用Curl对Google Cloud 存储的POST请求

提问于
浏览
0

在以下Curl命令中,内容类型和内容长度以及访问承载附加到我的存储桶URI以将文件上载到Google Cloud 端存储 .

C:\softwares\curl>curl -X POST -H "Content-Type:application/json" \
    -H "Content-Length:100" \
    -H "Authorization: Bearer <MY_OAUTH2_TOKEN>" \ 
    "https://www.googleapis.com/upload/storage/v1/b/kids-74096.appspot.com/o?uploadType=media&name=newcurl" \
    -d '{"text":"something"}'

但是我收到了这个错误:

curl:(92)HTTP / 2流1没有干净地关闭:PROTOCOL_ERROR(错误1)

1 回答

  • 2

    确保包含Content-Type标头,并确保您的Content-Length与您要发送的数据的长度相匹配 . 这是一个例子:

    curl -k -v -X POST \
    -H "Authorization: Bearer <your_oauth2_token>" -H "Content-Length: 8" \
    -H "Content-Type: text/plain" \
    'https://www.googleapis.com/upload/storage/v1/b/your-bucket/o?uploadType=media&name=yourobjectname' \
    -d 'yourdata'
    

    正如评论中所建议的,您可能会发现使用gsutil或 Cloud 存储client libraries更容易实现此目的 .

相关问题