当我做以下操作时,传递我的JIRA API令牌 .
curl --verbose --request GET \
--url 'https://myJira.atlassian.net/....' \
--user 'my_email@domain.com:my_jira_api_token' .....。操作成功,我看到其中一个标头是:
Authorization: Basic encodedAuthInfoHere我如何对德拉克马做同样的事情呢?:basic-authorization需要一个用户名和密码的列表。但是JIRA说基本权利已经被反对了。
(drakma:http-request url
:method :get
:basic-authorization '(email passwd)
...是否有一种方法可以执行与curl相同的编码,并在调用http-request时显式地添加标头?提前感谢!
发布于 2021-03-12 14:03:59
就像curl一样,Drakma的密码可以是您想要的任何内容,所以您可以插入jira令牌,就像您对curl所做的一样。
将会
(setf drakma:*header-stream* *standard-output*)
(drakma:http-request "https://myJira.atlassian.net/...."
:method :get
:basic-authorization '("my_email@domain.com" "my_jira_api_token"))火花joy?
我希望drakma创建一个字符串my_email@domain.com:my_jira_api_token,base64 64-编码它,并将它附加到"Authorization: Basic“中,这样您就可以得到如下所示的标题:
Authorization: Basic bXlfZW1haWxAZG9tYWluLmNvbTpteV9qaXJhX2FwaV90b2tlbg==如果您的curl示例是完整的,Drakma应该可以帮助您达到curl的程度。
发布于 2021-03-12 09:07:12
您可以将:parameters传递给请求:
USER> (drakma:http-request "http://example.com"
:method :get
:parameters '(("user" . "token")))答覆如下:
"<!doctype html>
<html>
<head>
<title>Example Domain</title>
<meta charset="utf-8" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" conten...[sly-elided string of length 1256]"
200 (8 bits, #xC8, #o310, #b11001000)
((:AGE . "507992") (:CACHE-CONTROL . "max-age=604800")
(:CONTENT-TYPE . "text/html; charset=UTF-8")
.....)
#<URI http://example.com/?user=token>
#<FLEXI-STREAMS:FLEXI-IO-STREAM {101D4A3723}>
T
"OK"特别是,第四个返回值,即答复来自的URI,是:
http://example.com/?user=tokenhttps://stackoverflow.com/questions/66589355
复制相似问题