使用curl无认证上传文件至公共服务器时遇URL格式错误
解决curl上传文件时的URL格式错误问题
你的命令报错是因为curl无法识别username@server:/path/to/main/folder这种路径格式——没有指定协议的话,curl会把它当作普通HTTP URL解析,自然不符合格式要求。
正确的curl上传命令(使用SFTP协议)
直接在路径前加上sftp://协议前缀,同时可以省略-X PUT(-T参数针对SFTP/SCP协议时默认使用PUT动作):
curl -T myFile.zip sftp://username@server/path/to/main/folder
如果目标路径是服务器上的绝对路径,确保路径开头的/保留;如果是相对路径(相对于用户的home目录),可以写成:
curl -T myFile.zip sftp://username@server/relative/path
额外说明
- 如果服务器使用非默认SFTP端口(默认22),可以在地址后追加端口号:
curl -T myFile.zip sftp://username@server:2222/path/to/main/folder - 若偏好scp风格的协议,也可以将
sftp://替换为scp://,用法完全一致。
内容的提问来源于stack exchange,提问作者Willy
相关产品推荐
相关产品推荐

