前提・実現したいこと
VB.net でCurlを使いたい
発生している問題・エラーメッセージ
以下のコードを実行しても戻り値が取得出来ない
該当のソースコード
Dim p As New System.Diagnostics.Process()
'ComSpec(cmd.exe)のパスを取得して、FileNameプロパティに指定 p.StartInfo.FileName = System.Environment.GetEnvironmentVariable("ComSpec") '出力を読み取れるようにする p.StartInfo.UseShellExecute = False p.StartInfo.RedirectStandardOutput = True p.StartInfo.RedirectStandardInput = False 'ウィンドウを表示しないようにする p.StartInfo.CreateNoWindow = True 'コマンドラインを指定("/c"は実行後閉じるために必要) p.StartInfo.Arguments = "/c curl https://www.yahoo.co.jp/" '起動 p.Start() '出力を読み取る Dim results As String = p.StandardOutput.ReadToEnd() 'プロセス終了まで待機する 'WaitForExitはReadToEndの後である必要がある '(親プロセス、子プロセスでブロック防止のため) p.WaitForExit() p.Close() '出力された結果を表示 Console.WriteLine(results)
試したこと
コマンドプロンプト(curl https://www.yahoo.co.jp/)では、問題なく実行結果が表示されます。
また、ソースの "/c curl https://www.yahoo.co.jp/" 部分を
"/c where curl" にするとコンソールに実行結果が表示されます。
C:\Users\ユーザー名\Documents\Visual Studio 2019\source\curl\bin\Debug\curl.exe
C:\Windows\System32\curl.exe
補足情報(FW/ツールのバージョンなど)
Visual Studio 2019
よろしくお願いします。
あなたの回答
tips
プレビュー