使用.net(C#)从curl发出日志标准输出
我试图将curl作为一个进程运行,并从命令窗口捕获输出。我已经尝试将curl作为进程直接运行,也尝试了运行cmd,然后将命令写入命令提示符。然而,curl本身的输出并没有被返回(verbose模式处于打开状态),尽管我有时会遇到编码问题,例如ÈÆŸ 如果有人有任何灵感,我将不胜感激使用.net(C#)从curl发出日志标准输出,c#,process,curl,C#,Process,Curl,我试图将curl作为一个进程运行,并从命令窗口捕获输出。我已经尝试将curl作为进程直接运行,也尝试了运行cmd,然后将命令写入命令提示符。然而,curl本身的输出并没有被返回(verbose模式处于打开状态),尽管我有时会遇到编码问题,例如ÈÆŸ 如果有人有任何灵感,我将不胜感激 private static bool ExecuteCurl(string curlDirectory, string curlArgs, string filePath) {
private static bool ExecuteCurl(string curlDirectory, string curlArgs, string filePath)
{
Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardError = true;
process.Start();
StreamWriter sw = process.StandardInput;
StreamReader sr = process.StandardOutput;
sw.WriteLine("cd " + curlDirectory);
sw.WriteLine("curl " + curlArgs + " -F file=@" + filePath);
sw.WriteLine("exit");
sw.Close();
string cURLResults = string.Empty;
cURLResults = sr.ReadToEnd();
sr.Close();
sw = new StreamWriter("C:\\out.txt", true);
sw.WriteLine(cURLResults);
sw.Close();
return false;
}
Microsoft Windows XP[版本]
5.1.2600](C)版权所有1985-2001微软公司
C:\Dev\VS\bin>cd C:\cURL\
C:\curl>curl-v-k-uxxxxx:xxxxxxxsftp://ftp.xxxx.co.uk -F file=@C:\mydoc.txt
C:\curl>退出
Curl似乎将所有输出发送到标准错误,而不是标准输出。Curl似乎将所有输出发送到标准错误,而不是标准输出