作为一个单独的工具,它工作得很好:

curl "someURL"
curl -o - "someURL"

但这在流水线上行不通:

curl "someURL" | tr -d '\n'
curl -o - "someURL" | tr -d '\n'

它返回:

(23) Failed writing body

管道cURL输出的问题是什么?如何缓冲整个cURL输出,然后处理它?


当前回答

我得到这个错误试图使用jq时,我没有安装jq。所以…如果您尝试使用jq,请确保已安装jq。

其他回答

就我而言,我在做: Curl <blabla> | jq | grep <blibli>

用jq。它工作:curl <blabla> | jq。| grep <blibli>

你可以这样做,而不是使用-o选项:

Curl [url] >[文件]

I was getting curl:(23)写作体不及格。后来我注意到我没有足够的空间通过curl下载rpm包,这就是我得到问题的原因。我腾出了一些空间和问题来解决。

所以这是编码的问题。Iconv解决了这个问题

curl 'http://www.multitran.ru/c/m.exe?CL=1&s=hello&l1=1' | iconv -f windows-1251 | tr -dc '[:print:]' | ...

我在ubuntu上安装清漆缓存时遇到了这个错误信息。谷歌搜索让我在这里的错误(23)失败的写作主体,因此张贴一个解决方案,为我工作。

在以根curl - l https://packagecloud.io/varnishcache/varnish5/gpgkey | apt-key add -的身份运行命令时遇到此错误

解决方案是以非根用户身份运行apt-key add

curl -L https://packagecloud.io/varnishcache/varnish5/gpgkey | apt-key add -