如何使用 curl 发送摘要身份验证请求?
How do I send a digest auth request using curl?
在搜索指南时,我在维基百科上找到了这个示例
GET /dir/index.html HTTP/1.0
Host: localhost
Authorization: Digest username="Mufasa", realm="testrealm@host.com", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", uri="/dir/index.html",
qop=auth,
nc=00000001,
cnonce="0a4f113b",
response="6629fae49393a05397450978507c4ef1",
opaque="5ccc069c403ebaf9f0171e9517f40e41"
(如果有一个 tool/site 可以将请求从这种形式的原始请求转换为 curl 命令,那就太好了)
这是我尝试向网站发送正常获取请求时的领域和随机数。
WWW-Authenticate: Digest realm="device1",nonce="3c5d8f92f03d9f1afd5dd55a7b172ee8", qop="auth", algorithm="MD5"
the response but from a network capture screen shot
在网上又搜索了一下,发现命令应该是这样的
curl "url" --digest -u {username}:{pass} -vv -d @4.xml -H "Content-Type: text/xml;charset=utf-8"
但我不知道将 nonce 或 realm 或 qop 或 algorithm="MD5"
放在哪里
而 .xml 文件包含 post 数据(在我的例子中它是肥皂操作)
您不必在任何地方指定所有这些值。您唯一需要做的就是 username/password 对。 CURL 负责为您计算客户端响应。这正是“支持摘要式身份验证”对任何客户端的意义。
在 cURL 授权中使用 Digest Auth 的最佳方式。
在 https url line
之后包括以下行
--digest -u '{username}:{password}' \
示例:
curl --location --request PUT 'https url' \
--digest -u '{username}:{password}' \
--header 'Content-Type: application/json' \
--data-raw '{
"data1": "",
"data2": "BF_PAIEMENTMARCHAND_MOBICASH"
}'
谢谢
在搜索指南时,我在维基百科上找到了这个示例
GET /dir/index.html HTTP/1.0
Host: localhost
Authorization: Digest username="Mufasa", realm="testrealm@host.com", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", uri="/dir/index.html",
qop=auth,
nc=00000001,
cnonce="0a4f113b",
response="6629fae49393a05397450978507c4ef1",
opaque="5ccc069c403ebaf9f0171e9517f40e41"
(如果有一个 tool/site 可以将请求从这种形式的原始请求转换为 curl 命令,那就太好了)
这是我尝试向网站发送正常获取请求时的领域和随机数。
WWW-Authenticate: Digest realm="device1",nonce="3c5d8f92f03d9f1afd5dd55a7b172ee8", qop="auth", algorithm="MD5"
the response but from a network capture screen shot
在网上又搜索了一下,发现命令应该是这样的
curl "url" --digest -u {username}:{pass} -vv -d @4.xml -H "Content-Type: text/xml;charset=utf-8"
但我不知道将 nonce 或 realm 或 qop 或 algorithm="MD5"
放在哪里而 .xml 文件包含 post 数据(在我的例子中它是肥皂操作)
您不必在任何地方指定所有这些值。您唯一需要做的就是 username/password 对。 CURL 负责为您计算客户端响应。这正是“支持摘要式身份验证”对任何客户端的意义。
在 cURL 授权中使用 Digest Auth 的最佳方式。 在 https url line
之后包括以下行--digest -u '{username}:{password}' \
示例:
curl --location --request PUT 'https url' \
--digest -u '{username}:{password}' \
--header 'Content-Type: application/json' \
--data-raw '{
"data1": "",
"data2": "BF_PAIEMENTMARCHAND_MOBICASH"
}'
谢谢