您的位置 首页 编程知识

在 Go 语言中如何正确地执行带参数的 Curl 命令?

在 中执行带参的 curl 命令 执行带参 curl 命令是使用 go 语言中内置的 exec 包实现的。此前…

在 Go 语言中如何正确地执行带参数的 Curl 命令?

在 中执行带参的 curl 命令

执行带参 curl 命令是使用 go 语言中内置的 exec 包实现的。此前,你在代码中使用 exec.command 时遇到了参数问题,无法正确执行带参命令。

根据官方文档的说明,exec.command 函数的参数由多个字符串组成。因此,要正确执行带参 curl 命令,需要将参数拆分成多个字符串并传递给函数。

func main() {     curl := exec.command("curl", "-k", "-s", "-v", "https://www.baidu.com")  // 修改了此行     out, err := curl.output()     if err != nil {         fmt.println("erorr", err)         return     }     fmt.println(string(out)) }
登录后复制

除了参数问题外,原始命令行还存在两个问题:

  • 将输出重定向到 /dev/null:这会吞噬 curl 命令的输出,导致 stdout 为空。已在修改后的代码中移除了此重定向。
  • 将标准错误输出重定向到文件:这是 shell 功能,与 go 无关。在 go 中,命令行的执行结果会输出到 out 和 err 两个变量,你可以将 err 的内容用代码写入文件。

如果确实希望在 go 中实现重定向,可以使用以下代码将完整的命令包裹在 shell 中运行:

curl := exec.Command("bash", "-c", "curl https://www.baidu.com > x")
登录后复制

以上就是在 Go 语言中如何正确地执行带参数的 Curl 命令?的详细内容,更多请关注php中文网其它相关文章!

本文来自网络,不代表四平甲倪网络网站制作专家立场,转载请注明出处:http://www.elephantgpt.cn/3111.html

作者: nijia

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

18844404989

在线咨询: QQ交谈

邮箱: 641522856@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部