41

CURL 和 HTTP 用户和密码 Auth 方法有问题,它不喜欢感叹号,我尝试过以下方式转义:

试过了,失败了……

/usr/bin/curl -u 'UserName\WithSlash:PasswordWithExclamation!' https://test.com/
/usr/bin/curl -u UserName\\WithSlash:PasswordWithExclamation\! https://test.com/

如果重要,则不适用于基本或摘要(使用--anyauth)...被401拒绝...

我做错了什么?

4

2 回答 2

50
 curl -u UserName\\WithSlash:PasswordWithExclamation\!  http://....

工作正常。

它发送

 GET / HTTP/1.1
 Authorization: Basic VXNlck5hbWVcV2l0aFNsYXNoOlBhc3N3b3JkV2l0aEV4Y2xhbWF0aW9uIQ==
 User-Agent: curl/7.21.0
 Host: teststuff1.com:80
 Accept: */*

这是“用户名\WithSlash:PasswordWithExclamation!” 在身份验证字符串中。

于 2012-07-12T04:00:15.943 回答
1

没那么复杂,用“”就行了。至少它适用于Linux。

例如:

curl -u "username:passwdwithspecialchar" GET https://....
于 2020-11-25T09:20:15.997 回答