【问题标题】:Curl issues with API call - could not resolve hostAPI 调用的卷曲问题 - 无法解析主机
【发布时间】:2017-06-21 15:52:30
【问题描述】:

关于这个主题有几个线程,但遗憾的是它们没有帮助。我正在使用 Curl,以及来自以下位置的示例 API 调用:algorithm - developers/getting-started/

使用我在 Curl 中发布的示例代码: curl -X POST -d '"MY_USERNAME"' -H 'Content-Type: application/json' -H 'Authorization: Simple MYKEY_SECRET' https://api.algorithmia.com/v1/algo/demo/Hello/0.1.1

我收到以下回复:

curl: (6) 无法解析主机:应用程序 curl:(6)无法解析主机:简单 curl:(6)无法解析主机:simNBQHl {"error":{"message":"需要授权"}}

我尝试了各种编辑(包括双括号、删除某些点的间距) - 这不起作用,有时会收到无效的 json used 响应。对我可能遗漏的明显内容有任何见解吗?

我正在使用 Windows 命令提示符并在从网站复制文本后粘贴文本,以防万一——尽管我也尝试将代码粘贴到记事本中,然后毫无乐趣地从那里复制。

谢谢!

【问题讨论】:

    标签: curl


    【解决方案1】:

    Windows 命令提示符不会像 UNIX 提示那样将 '' 视为转义字符串,因此它会将 application/json' 作为 URL 参数读取,而 application 不会解析为 DNS 名称(您的第一个错误) - 见Escaping Double Quotes in Batch Script

    您需要执行以下操作:

    curl -X POST -d """MY_USERNAME""" -H "Content-Type: application/json" -H "Authorization: Simple MYKEY_SECRET" "https://api.algorithmia.com/v1/algo/demo/Hello/0.1.1" 
    

    【讨论】:

    • 谢谢 - 这工作得很好。我认为这可能与 Windows 命令提示符有关——尽管在 Windows 上尝试其他 CLI 工具也有同样的问题。有没有更好的 CLI 可以避免上述问题?
    • Windows 有 PowerShell,并且还可以使用 Cygwin 在 Windows 上运行一些 unix shell,这允许大量 unixy/linuxy 的东西被编译为本地。我更喜欢使用 bash 或 zsh 之类的东西,但在 Windows 上,我不确定我会选择哪个 shell;我用的不多。
    猜你喜欢
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-25
    相关资源
    最近更新 更多