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

Posted

技术标签:

【中文标题】如何在 curl 命令的用户名和密码中指定@?【英文标题】:How to specify @ in username and password for curl command? 【发布时间】: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" 查看***.com/a/2594908/1866530 【参考方案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 ...

【讨论】:

以上是关于如何在 curl 命令的用户名和密码中指定@?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring Security 中指定 Open ID Realm?

如何在 Xcode 4 中指定命令行参数?

如何使用cognito在android中指定自定义错误消息

linux下如何提取日志中指定的一段内容?100分急求!!!

如何通过命令行在 MSBuild 中指定 CodeAnalysisRuleset

使用 Sqoop 将数据从 RDBMS 导入 Hive 时,如何在命令行中指定 Hive 数据库名称?