0

我有一个文件夹,里面装满了我需要使用 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

4

2 回答 2

4

您应该尝试使用-gaka --globoffcURL 选项。

默认行为是:

您可以通过在大括号内编写部分集来指定多个 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。它们将按指定顺序按顺序获取。

从 curl 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标志告诉它根本不要做 globbing。

于 2008-12-17T13:17:41.277 回答
2

百分号 ( %) 是 Windows/DOS 批处理文件中的特殊字符。在命令行上,您可以使用单个%. 在批处理文件中,使用两个。

例如,如果您的 URL 包含一个编码为 的空格%20,那么您需要%%20.

于 2009-12-30T15:32:49.247 回答