File 未创建Curl输出文件

File 未创建Curl输出文件,file,curl,output,httpwebresponse,File,Curl,Output,Httpwebresponse,概述:我们使用现成的映射工具进行数据映射(创建JSON文件等)。然后,我们使用该工具调用exe,以便将JSON文件发布到API。除了能够创建输出文件(向我们显示API连接的结果)之外,这工作得非常好。当我们从命令行运行exe时,输出文件被成功创建,但是当我们从其他工具调用它来运行完全相同的命令时,输出文件不会被创建。有人对如何解决这个问题有什么想法吗 我们使用下面的curl命令来处理PUT API调用。我们使用一个请求文件,并打算生成一个响应输出文件(用于监视webAPI结果)和一个跟踪日志(用

概述:我们使用现成的映射工具进行数据映射(创建JSON文件等)。然后,我们使用该工具调用exe,以便将JSON文件发布到API。除了能够创建输出文件(向我们显示API连接的结果)之外,这工作得非常好。当我们从命令行运行exe时,输出文件被成功创建,但是当我们从其他工具调用它来运行完全相同的命令时,输出文件不会被创建。有人对如何解决这个问题有什么想法吗

我们使用下面的curl命令来处理PUT API调用。我们使用一个请求文件,并打算生成一个响应输出文件(用于监视webAPI结果)和一个跟踪日志(用于调试)

该命令在命令行中运行良好(同时生成输出和跟踪文件)

但是,当我们从映射工具执行完全相同的命令时,它不会生成输出文件(跟踪文件会成功更新)。Curl能够读取请求数据文件,并生成跟踪文件。但是由于某些原因,输出文件没有生成


我们尝试了-o、-o和console redirect>选项,但从我们的映射工具调用时,似乎没有一个生成输出文件。

curl命令选项中没有需要纠正的内容,我们怀疑映射工具以某种方式阻止了控制台输出(因此,由于不允许输出,因此可能还未创建输出文件)

为了克服这个限制,我们求助于wrap curl命令 在批处理(.bat)文件中,并确保既不卷曲也不 批处理文件在控制台上生成任何输出。使用curl的--silent选项 并使用-o(我们使用-o)悄悄地将输出重定向到一个文件 而且成功了


不知何故,批处理文件中的curl命令执行没有受到我们的映射工具的干扰,它允许创建响应输出文件。虽然听起来不完整,但它工作正常。

curl命令选项中没有任何需要纠正的地方,我们怀疑我们的映射工具以某种方式阻止了控制台输出(因此,由于不允许输出,因此可能还未创建输出文件)

为了克服这个限制,我们求助于wrap curl命令 在批处理(.bat)文件中,并确保既不卷曲也不 批处理文件在控制台上生成任何输出。使用curl的--silent选项 并使用-o(我们使用-o)悄悄地将输出重定向到一个文件 而且成功了


不知何故,批处理文件中的curl命令的执行没有受到我们的映射工具的干扰,它允许创建响应输出文件。虽然听起来有些零碎,但它起到了作用。

尝试更改工具以调用一些简单的命令来创建输出文件(在Unix中,这可能是
touch
,但您使用的是Windows,因此请尝试
copy nul:“D:\HSG\Test\PUTOR23\Output\order101\u out.txt”
),然后查看它是否有效。如果有效,请关注
curl
。如果无效,请关注工具正在运行的环境。可能有点奇怪。如果尝试将输出文件放在跟踪目录中会发生什么?可能是“输出”目录有一些奇怪的权限,工具无法访问?stderr去哪里了,你能看到吗?或者如果交换跟踪文件名和输出文件名(包括路径),会发生什么情况,因为跟踪文件可以工作?谢谢@eewanco。我们已经验证了没有文件读/写访问问题(我们可以用-d@和output--trace读取数据文件)。问题具体到output。我还怀疑它的curl是否相关,因为我尝试了一个简单的.bat with>操作符将数据输出到物理(类型sample.json>output.json)但是我们的工具再次失败了。但是我发现很奇怪为什么curl能够生成跟踪而不能生成输出(将尝试静默模式)。谢谢。尝试更改您的工具以调用一些简单的命令来创建输出文件(在Unix中,这将是
touch
,但您使用的是Windows,所以请尝试
copy numl:“D:\HSG\Test\PUTOR23\Output\order101\u out.txt”
),然后查看它是否有效。如果有效,请关注
curl
。如果无效,请关注工具正在运行的环境。可能有什么问题。如果尝试将输出文件放在跟踪目录中会发生什么?可能是“输出”“目录有一些奇怪的权限,工具无法访问?stderr去哪里了,你能看到吗?或者,如果你交换跟踪文件名和输出文件名(包括路径),会发生什么情况,因为跟踪文件可以工作?谢谢@eewanco。我们已验证没有文件读/写访问问题。”(我们可以用-d@和output--trace读取数据文件)。问题具体到output。我还怀疑它的curl是否相关,因为我尝试了一个简单的.bat with>操作符将数据输出到物理(类型sample.json>output.json)但是我们的工具再次失败了。但是我发现很奇怪为什么curl能够生成跟踪而不是输出(将尝试静默模式)。谢谢。
curl --request PUT "https://client.mirakl.net//api/orders/order101/tracking" ^
-d @"D:\HSG\Test\PUTOR23\order101.json" ^
-o "D:\HSG\Test\PUTOR23\Output\order101_out.txt" ^
--trace-ascii "D:\HSG\Test\PUTOR23\Outputorder101_TRACE.txt"