使用.net(C#)从curl发出日志标准输出

使用.net(C#)从curl发出日志标准输出,c#,process,curl,C#,Process,Curl,我试图将curl作为一个进程运行,并从命令窗口捕获输出。我已经尝试将curl作为进程直接运行,也尝试了运行cmd,然后将命令写入命令提示符。然而,curl本身的输出并没有被返回(verbose模式处于打开状态),尽管我有时会遇到编码问题,例如ÈÆŸ 如果有人有任何灵感,我将不胜感激 private static bool ExecuteCurl(string curlDirectory, string curlArgs, string filePath) {

我试图将curl作为一个进程运行,并从命令窗口捕获输出。我已经尝试将curl作为进程直接运行,也尝试了运行cmd,然后将命令写入命令提示符。然而,curl本身的输出并没有被返回(verbose模式处于打开状态),尽管我有时会遇到编码问题,例如ÈÆŸ

如果有人有任何灵感,我将不胜感激

        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似乎将所有输出发送到标准错误,而不是标准输出