2012-07-12 27 views
18

Có một vấn đề với CURL và HTTP dùng và mật khẩu phương pháp Auth, nó không thích những dấu chấm than, tôi đã cố gắng thoát ra các cách sau:Curl - Exclamation dấu ấn trong tài Auth/Mật khẩu

Cố gắng và thất bại ...

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

Không làm việc cho cơ sở hoặc tiêu hóa nếu vấn đề (sử dụng --anyauth) ... nhận được 401 bị từ chối ...

tôi đang làm gì sai?

+0

Ngoài sự tò mò, bạn đã thử chỉ sử dụng tên người dùng và cho phép lời nhắc curl cho mật khẩu hoặc sử dụng tùy chọn '--netrc' và đặt tên người dùng và mật khẩu vào một tệp .netrc? – kojiro

+0

Tôi sẽ thử ngay bây giờ, cảm ơn. – MichaelICE

+0

.netrc đang tìm cách làm việc cho đến nay ... – MichaelICE

Trả lời

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

hoạt động tốt.

nó sẽ gửi

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

đó là "UserName \ WithSlash: PasswordWithExclamation" trong chuỗi auth.