我有一個批處理腳本,它使用 curl 向網路中的網路服務器發出 http-get 請求。問題在于,401: Unauthorized
即使我發送用戶名和密碼,與僅在瀏覽器(如 google chrome 之類的回傳)中輸入鏈接相比,我也會收到回應200: OK
C:\Users\myuser>curl -I "http://admin:[email protected]/arg1=0&arg2=20&arg3=0"
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Digest realm="Login to 28b6e642501d12764d8430059585d39b", qop="auth", nonce="1592879309", opaque="ecd7f630cfdef2dec4aebb35f81708e84d20a755"
Connection: close
Set-Cookie:secure; HttpOnly
CONTENT-LENGTH: 0
我也試過:
curl -I -u admin:admin1234 "http://admin:[email protected]/arg1=0&arg2=20&arg3=0"
curl -I -u admin:admin1234 "http://192.168.0.4/arg1=0&arg2=20&arg3=0"
結果是一樣的401: Unauthorized
。我知道我連接的設備沒有問題,因為如果我http://admin:[email protected]/arg1=0&arg2=20&arg3=0
在谷歌瀏覽器中使用,設備會正常運行并且它也會回傳200: OK
如果用戶名和密碼未出現在任何日志檔案中,是否有其他發送用戶名和密碼的方式?
uj5u.com熱心網友回復:
線索在這個回應頭欄位中:
WWW-Authenticate: Digest
這意味著服務器希望客戶端使用Digest方法,而不是Basic,這是使用時的默認方法-u
。
添加--digest
到命令列,或者可能是--anyauth
.
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/507054.html