我有一个文件夹,我需要使用cURL发布到web服务,但我不确定批处理文件中的整个变量和迭代事项。
我知道curl的语法应该是
c:\curl\bin\curl -X POST -F File=@[filename] -F "title=[title]" -F "notes=[notes]" "http://xxx/AddScannedImage?debtref=[filename]"
但是变量中的%符号似乎在URL编码中被吞噬了
有什么想法吗?
TIA
答案 0 :(得分:4)
您应该尝试使用-g
又名--globoff
cURL选项。
默认行为是:
您可以通过编写零件集来指定多个URL或URL的一部分 在括号内如下:
http://site.{one,two,three}.com
或者您可以使用[]获取字母数字系列的序列,如下所示:
ftp://ftp.numericals.com/file[1-100].txt ftp://ftp.numericals.com/file[001-100].txt (with leading zeros) ftp://ftp.letters.com/file[a-z].txt
目前不支持嵌套序列,但您可以使用 几个彼此相邻:
http://any.org/archive[1996-1999]/vol[1-4]/part{a,b,c}.html
您可以在命令行上指定任意数量的URL。他们会 按指定的顺序以顺序方式获取。
自卷曲7.15.1起,您还可以为范围指定步数计数器,因此 你可以得到每个第N个号码或字母:
http://www.numericals.com/file[1-100:10].txt http://www.letters.com/file[a-z:2].txt
你甚至可以这样做:
curl -T "img[1-1000].png" ftp://ftp.picturemania.com/upload/
但是在你的情况下,你真的不希望这样,所以你应该使用-g
标志来告诉它不要做全局化。
答案 1 :(得分:2)
百分比符号(%
)是Windows / DOS批处理文件中的特殊字符。在命令行上,您可以使用单个%
。在批处理文件中,使用两个。
例如,如果您的网址包含编码为%20
的空格,那么您需要%%20
。