当前位置: 首页 > 面试题库 >

为什么这个curl命令不起作用?

萧芷阳
2023-03-14
问题内容

嗨,我只是想创建一个简单的golang应用程序,它使用以下命令在identi.ca上发布新的凹痕

curl -u username:password http://example.com/api/statuses/update.xml -d status='Howdy!' -d lat='30.468' -d long='-94.743'

到目前为止,这是我的代码,恕我直言,这应该起作用,但实际上它不起作用,有人知道如何解决此问题吗?

编辑: 不:我没有收到任何错误消息:/

package main

import(
        "fmt"
        "os"
        "bufio"
        "exec"
)
func main() {

var err os.Error
var username string

print("Username: ")
_, err = fmt.Scanln(&username)
if err != nil {
    fmt.Println("Error: ", err)
}

var password string
print("Password: ")
_, err = fmt.Scanln(&password)
if err != nil {
    fmt.Println("Error: ", err)
}

var status string
print("Status: ")
in := bufio.NewReader(os.Stdin);
status, err = in.ReadString('\n');
if err != nil {
    fmt.Println("Error: ", err)
}

exec.Command("curl -u " + username + ":" + password + "https://identi.ca/api/statuses/update.xml -d status='" + status +  "'" + "-d source='API'").Run()

问题答案:

exec.Command()不会将整个命令行作为单个参数。您需要将其称为:

exec.Command("curl", "-u", username+":"+password, ...url..., "-d", "status="+status, "-d", "source=API").Run()

您怎么知道是否遇到错误?您无需检查的返回值Run()

您实际上应该将命令创建与运行分开。这样,您可以将进程的stdout和stderr设置为以外的其他值/dev/null,例如

c := exec.Command("curl", "-u", username+":"+password, "https://identi.ca/api/statuses/update.xml", "-d", "status="+status, "-d", "source=API")
c.Stdout = os.Stdout
c.Stderr = os.Stderr
err = c.Run()
if err != nil {
    fmt.Println("Error: ", err)
}


 类似资料:
  • 我刚刚安装了node.js,还在环境变量中设置了PATH。路径值为 短期内 android命令正常工作。

  • 问题内容: 码: 上面的代码不起作用。当我单击#clicker时,它不会发出警报,也不会隐藏。我检查了控制台,没有任何错误。我还检查了JQuery是否正在加载,实际上是否正在加载。所以不确定是什么问题。我还执行了带有警报的文档就绪功能,并且该功能正常工作,因此不确定我在做什么错。请帮忙。谢谢! 问题答案: 您应该在一个块中添加javascript代码。 即 正如jQuery文档指出的那样:“在文档

  • 问题内容: 我正在尝试使用bash脚本将JSON文件上传到我的noSQL数据库中,但是它不起作用,我也不明白为什么。 这是脚本: 这是错误: 当我执行命令行中给出的命令时,它仍然可以正常工作。 这是什么错误?谢谢 问题答案: 不要将命令存储在变量中;如果您绝对必须具有可用于日志记录的内容,请将 参数 放入数组中。

  • 问题内容: Oracle 10g,hibernate3.4 此更新(基于值)正确完成: 这个(基于值)抛出异常: 有人知道为什么吗? 问题答案: Hibernate文档说: 批量HQL查询中不能指定隐式或显式连接。子查询可以在where子句中使用,其中子查询本身可能包含联接。 因此,您需要用等效的子查询替换隐式连接:

  • 问题内容: 我正在尝试通过以下方式将日期范围划分为各个日期: 而且我不知道为什么不起作用,因为日期仍然相同,所以循环变得无限。 问题答案: plusDays不会改变原始的,您必须分配结果:

  • > 在SWI-Prolog shell中,我执行以下命令:use_module(library(semweb/sparql_client))。加载sparql客户端库的 然后,在SWI-Prolog shell中,我执行以下SPARQL查询: ?-sparql_query('select count(*)where{?person a http://dbpedia.org/ontology/per