Я пытаюсь запустить curl как процесс и захватить вывод из командного окна. Я попытался запустить curl как процесс, а также запустить cmd, а затем писать команды в командной строке. Однако выходные данные самого curl не возвращаются (включен подробный режим), хотя иногда я получаю то, что похоже на проблему с кодировкой, например, ÈÆŸ.
Если у кого-то есть вдохновение, я буду благодарен!
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) Copyright 1985-2001 Microsoft Corp.
C: \ Dev \ VS \ bin> cd C: \ cURL \
C: \ curl> curl -v -k -u xxxxx: xxxxxxx sftp: //ftp.xxxx.co.uk -F file = @ C: \ mydoc.txt
C: \ завиток> выход