3

我有一个这样的 URL:“今天真是美好的一天”
http://localhost:8999/createAudio?method=createAudio&sessionId=1234&text=${line}&voice=Paul&encoder=MP3";
在哪里。 我用来捕获上述http请求的输出,如下所示:${line}
wget
cURL="http://localhost:8999/createAudio?method=createAudio&sessionId=1234&text=${line}&voice=Sangeeta&encoder=MP3";
wget -O test.html ${cURL}

我的问题是 http 请求在第一个空白处被切断。因此,将发出的 http 请求将如下所示:
http://localhost:8999/createAudio?method=createAudio&sessionId=1234&text=This

如何确保${line}在 http 请求中使用整个内容?

4

1 回答 1

8

一种答案是简单地将您的空间 URL 编码为%20,摆脱任何文字空间。

但是,wget将为您执行此操作。您的问题是您在初始化变量时正确引用了该cURL变量,但在 curl 命令行中实际使用它时却没有正确引用。您还需要在此处引用,否则 bash 会将该变量中的任何空格解释为参数分隔符:

wget -O test.html "$cURL"
于 2013-02-24T20:09:41.863 回答