【问题标题】:How to specify @ in username and password for curl command?如何在 curl 命令的用户名和密码中指定@?
【发布时间】:2021-02-12 23:46:58
【问题描述】:
$ curl -k -i -X POST -d '{ "path" : "/" }' https://abc@example.com:qwer@@53096wrxgcg.ibmaspera.com:33001/files/workspaces/42796/all/12345:2

结果:

curl: (3) Port number ended with 'I'

没有@:

$ curl -k -i -X POST -d '{ "path" : "/" }' https://abcexample.com:qwer@53096wrxgcg.ibmaspera.com:33001/files/workspaces/42796/all/12345:2

结果:

curl: (7) Failed to connect to 53096wrxgcg.ibmaspera.com port 33001: Connection timed out

curl命令如何在用户名和密码中指定@?

【问题讨论】:

  • 把网址放在引号里
  • $ curl -k -i -X POST -d '{ "path" : "/" }' "https://abc@example.com":qwer@@53096wrxgcg.ibmaspera.com:33001/files/workspaces/42796/all/12345:2 这要求输入密码,然后显示相同的错误。
  • 我的意思是完整的 URL 等等:"https:\/\/abc@example.com:qwer@@53096wrxgcg.ibmaspera.com:33001/files/workspaces/42796/all/12345: 2"

标签: json linux rest curl


【解决方案1】:

如果 auth 用户名或密码包含 @ 符号,则应将其 urlencode 为 %40。

您的 curl 命令可能类似于以下任一示例:

curl -k -i -X POST -d '{ "path" : "/" }' \ 
  https://abc%40example.com:qwer%40@53096wrxgcg.ibmaspera.com:33001/files/workspaces/42796/all/12345:2

curl --user abc%40example.com:qwer%40 -k -i ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 2016-10-17
    • 2015-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多