powershell - API请求在powershell上返回401,但在邮递员200上
问题描述
我有这个请求是副本(来自 chrome 控制台,谢谢 google)会话已打开并且 cookie 是活动的,但由于某种原因,Powershell 上提示 401,但 Postman 上工作正常。我用谷歌搜索了它,他们说我必须在 base 64 上对其进行编码,我用同样的结果做了。我正在尝试使用给定的 Xrsf 令牌和 ID 而不是用户和密码,请注意我没有用户和密码,我必须使用这些令牌和 ID,请记住可能的编码答案。
最重要的标头(如果我删除它们,则请求不会在 Postman 上继续)是 x-XSRF-TOKEN 以及您拥有 ID 和令牌的 cookie,删除其中任何一个都将导致请求未经授权返回 401。
$id = "nsu38L1xRGS2YzYad7LwVw|pSbDDmSDd7dP836sxvwJNXwweEWTD3s7xJ5oPcYZ"
$token = "VRnWDtc6JJrSSXGFsDIGSsxaqa0SbVbkHFSFSFSFSFwxyqg3CKU"
$id = [System.Text.Encoding]::UTF8.GetBytes($id)
$id = [Convert]::ToBase64String($id)
$token = [System.Text.Encoding]::UTF8.GetBytes($token)
$token = [Convert]::ToBase64String($token)
Invoke-WebRequest -Uri "https://tableauserver.am.echonet/vizportal/api/web/v1/getServerUsers" `
-Method "POST" `
-Headers @{
"sec-ch-ua"="`" Not;A Brand`";v=`"99`", `"Google Chrome`";v=`"91`", `"Chromium`";v=`"91`""
"Accept"="application/json, text/plain, */*"
"X-XSRF-TOKEN"="$token"
"sec-ch-ua-mobile"="?0"
"User-Agent"="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
"Origin"="https://tableauserver.am.echonet"
"Sec-Fetch-Site"="same-origin"
"Sec-Fetch-Mode"="cors"
"Sec-Fetch-Dest"="empty"
"Referer"="https://tableauserver.am.echonet/"
"Accept-Encoding"="gzip, deflate, br"
"Accept-Language"="en-US,en;q=0.9"
"Cookie"="persist=!9xF+uxkmcIc/PdfddsaewUU98ySpzJVE7fgdsbe+Dddsjzgdf9SfTdgNyd/UTOFu8Pgs2o4X08j/e1Kv3GCNGOmpG5Nd0WdbTM=; workgroup_session_id=$id; XSRF-TOKEN=$token"
} `
-ContentType "application/json;charset=UTF-8" `
-Body "{`"method`":`"getServerUsers`",`"params`":{`"filter`":{`"operator`":`"and`",`"clauses`":[{`"operator`":`"eq`",`"field`":`"username`",`"value`":`"423dse063`"},{`"operator`":`"eq`",`"field`":`"domainName`",`"value`":`"local`"}]},`"page`":{`"startIndex`":0,`"maxItems`":1}}}"
我还尝试对 Id 和令牌进行编码,如本文所示:
https://qualys-secure.force.com/discussions/s/article/000003066
没有加密的命令也被尝试过。
提前致谢。
解决方案
推荐阅读
- elasticsearch - 将 geo_shape 读取为 GeoJSON 文本
- flutter - 我怎样才能创建一个表如下
- python-3.x - 查找调用特定方法的类对象
- java - 配置 Jolokia 服务器和代理的问题
- javascript - 有没有办法让一个 div 的高度与另一个 div 的高度相同,而不需要两个 div 都在同一个容器中?
- jquery - 如何长出一个圆圈来覆盖页面并成为菜单
- windows - 关闭并重新打开 PDF 文件
- c# - 通过 http post 收到的值对于 AngularJS 和 Web api 2 为空
- python - for 循环不迭代第二个值
- azure - 无法连接到本地 azure cosmosdb 模拟器