【问题标题】:curl command doesn't work properly in command promptcurl 命令在命令提示符下无法正常工作
【发布时间】:2021-08-17 22:09:19
【问题描述】:

我正在尝试通过 curl 在this site 使用某个 API。 我正在尝试命令提示符页面中编写的示例 sn-p,但 cmd 返回以下错误:

curl -H 'Authentication: Token myToken' \

curl: (6) Could not resolve host: Token
curl: (6) Could not resolve host: myToken'
curl: (6) Could not resolve host: \

-d 'html=<h1>HTML PDF API is cool!</h1>' \

The system cannot find the file specified.

'https://htmlpdfapi.com/api/v1/pdf' > result.pdf

''https:' is not recognized as an internal or external command,
operable program or batch file.


我搜索了 curl 的用法和这个 API 的文档,但我无法解决。 作为 API、curl 和 HTTP 的新手,我什至不知道如何划分我的问题以及如何搜索解决方案。

任何信息将不胜感激。

进展

我发现了

  • Windows 版本的 curl 与 Unix 版本的 curl 略有不同,后者在 API 站点的示例中显示。
  • 我在 WSL Ubuntu 上尝试了相同的命令,它成功了。

我认为 Windows 有点不舒服,并且在做工程方面需要努力,因为那里的许多工程工具应该在 Mac 的 Linux 中使用。

【问题讨论】:

  • 我猜你错误地使用\ 作为命令行分隔符。它是 Windows cmd.exe CLI 上的 ^ 用于此目的。此外,您不应添加作为问题一部分的答案...
  • 还要检查 these question 关于 curl 语法。
  • 问题不是curl.exe。与 Linux shell 解释器相比,问题在于 Windows 命令处理器的语法不同。 Linux shell 解释器支持参数字符串的多种引用变体,根据使用的引号具有不同的解释。 Windows 命令处理器仅支持 " 引用包含空格或这些字符之一的参数字符串 &amp;()[]{}^=;!'+,`~ 以将双引号参数字符串中的所有内容解释为文字字符,%! 除外目前已启用延迟扩展。
  • \ 在行尾被 Linux shell 解释器解释为行尾的转义。这意味着下一行的字符串被附加到 shell 解释器当前解析的命令行中。这在 Windows 上也是可能的,但转义字符是 ^,它必须位于行尾才能将下一行的字符串解释为当前命令行的一部分。我建议让它变得简单,只写一个命令行:curl.exe -H "Authentication: Token myToken" -d "html=&lt;h1&gt;HTML PDF API is cool!&lt;/h1&gt;" "https://htmlpdfapi.com/api/v1/pdf" &gt; result.pdf
  • 在我看来 Effectiva studio d.o.o. 应该扩展网页 HTML PDF API Usage 并发布每个 Linux/Mac 使用示例以及 Windows 使用示例。对于此页面上的示例来说,这将非常容易,因为所有 ' 都需要替换为 " 和所有 \ 替换为 ^ 以使所有示例都具有适用于 Windows 命令处理器的有效语法。

标签: windows api pdf curl cmd


【解决方案1】:

我发现了

  • Windows 版本的 curl 似乎与 Unix 版本的 curl 有点不同,后者在 API 站点的示例中显示。
  • 我在 WSL Ubuntu 上尝试了相同的命令,它成功了。

我认为 Windows 有点不舒服,并且在做工程方面需要努力,因为那里的许多工程工具应该在 Linux 或 Mac 中使用。

它最终采取了与我预期不同的方式,我想暂时在这里结束这个问题,因为至少我现在可以使用这个 API。

仍然欢迎任何有关此问题的讨论。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-11
    • 1970-01-01
    • 1970-01-01
    • 2022-07-27
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多