我想使用HTTP -client来发出一个HTTP请求,相当于:
curl -u 'user:pass' 'https://api.example.net/a/b/c'
我已经阅读了http-client,以及内部web和uri-common的文档,但我仍然不确定如何实现这一点。
我可以看到它可以设置用户名和密码与make-uri
,但我不确定这是否是最好的选择。
如果有不止一种方法,我愿意接受多种解决方案,但最好是一个习惯的答案。
正如医生所说,
默认值是从URI">
中提取用户名和密码组件的过程。
因此,使用make-uri
设置密码是绝对支持的,并且可能是一般情况下最简单的方法。这就是为什么with-input-from-request
和朋友接受字符串,URI对象或请求-你传递最简单的东西,可以工作。
(define user "user")
(define pass "pass")
(determine-username/password
(lambda (uri realm)
(values user pass)))
技术细节见https://wiki.call-cc.org/eggref/5/http-client#authentication-support