您好,我正在使用 cURL 通过 POST 方法将 pdf 文件上传到远程服务器。
我尝试了几种变体,得到了几种不同的消息(错误),其中两个最重要:
curl -X POST https://waapi.pepipost.com/api/v2/media/upload/ -H 'Authorization: Bearer myAuthorizationToken' -H 'Content-Type: document' "@C:\Users\Slomil\Desktop\UserGuide.pdf"
错误 curl: (3) Port number ended with '\'
。
此外,我尝试将地址更改为“/”,因此新的 curl 命令看起来像
curl -X POST https://waapi.pepipost.com/api/v2/media/upload/ -H 'Authorization: Bearer myAuthorizationToken' -H 'Content-Type: document' "@C:/Users/Slomil/Desktop/UserGuide.pdf"
并收到错误 curl: (1) Protocol "@C"not supported or disabled in libcurl
。
我还在 stackoverflow 上搜索了以前关于该问题的答案,并尝试将该帮助用作我的新 cURL 命令,但也没有成功。
有人可能知道这里的问题是什么吗?我以为我的文件地址是错误的..但不知道在命令中还应该怎么写..这里我只将地址从 "\"
更改为 "/"
,以为地址有问题,可能在那些斜杠中。非常感谢!:)
最佳答案
“将文件上传到 URL”的方法不止一种,因此除非您提供更多详细信息,否则我们实际上无法知道。
但很明显,您的命令行中缺少 -d 或 -F 选项,您应该删除 -X POST
。
多部分模板
如果您使用分段上传,这是大多数“上传”到 HTTP 的方式,它可能是这样的:
curl https://waapi.pepipost.com/api/v2/media/upload/ -H 'Authorization: Bearer myAuthorizationToken' -F "file=@C:\Users\Slomil\Desktop\UserGuide.pdf"
请注意,此命令行将上传部分设置为获取名称文件,您应该将其更改为您想要的名称。
“常规”POST
如果您只想在 POST 中发送“原始”二进制文件(您的 Content-Type 设置可能表明您想要),请像这样使用 --data-binary:
curl https://waapi.pepipost.com/api/v2/media/upload/ -H 'Authorization: Bearer myAuthorizationToken' -H 'Content-Type: document' --data-binary "@C:\Users\Slomil\Desktop\UserGuide.pdf"
(我从问题中复制了 Content-Type,尽管它看起来不寻常和奇怪。)
关于curl - 将本地文件上传到 url 的正确 curl 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63203986/