当前位置: 首页 > 面试题库 >

为什么PowerShell无法发送适当的Crumb?

伯俊弼
2023-03-14
问题内容

我的PowerShell脚本:

$Params = @{
    uri     = "http://${API_URL}:${API_Port}/crumbIssuer/api/json";
    Method  = 'Get';
    Headers = @{
        Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("$(${API_User}):$(${API_Pass})"));
    }
}

$API_Crumb = Invoke-RestMethod @Params

$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Jenkins-Crumb", $API_Crumb.Crumb)

$Params = @{
    uri     = "http://${API_URL}:${API_Port}/job/${API_Job}/build";
    Method  = 'Post';
    Headers = $headers;
}

Invoke-RestMethod @Params

错误:

请求中未包含有效面包屑


问题答案:

我修改了代码,如下所示,它可以正常工作。不知道为什么以前的代码会抛出错误。

$API_User = "admin"
$API_Pass = "password"
$API_URL = "localhost"
$API_Port = "8080"
$API_Job = "test01"

$h = @{}
$h.Add('Authorization', 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("$(${API_User}):$(${API_Pass})")))

$Params = @{uri = "http://${API_URL}:${API_Port}/crumbIssuer/api/json";
        Method = 'Get';
        Headers = $h;}
$API_Crumb = Invoke-RestMethod @Params

$h.Add('Jenkins-Crumb', $API_Crumb.crumb)
$Params['uri'] = "http://${API_URL}:${API_Port}/job/${API_Job}/build"
$Params['Method'] = 'Post'
$Params['Headers'] = $h

Invoke-RestMethod @Params


 类似资料:
  • 我试图通过控制台发送< code > SMS ,但显然我没有收到任何消息。 到目前为止我做了什么? 创造了一个话题 创建了我的号码和电子邮件ID的订阅。 发表了一条消息 在我的电子邮件ID上,我可以接收相同主题的消息,但不能在手机上接收。 甚至尝试了其他手机,只是为了确保我的号码没有阻止消息,但结果是一样的,sns短信是不能通过控制台工作!!!

  • 我是一个使用Hibernate的新手,我正在编写一个简单的方法来返回匹配特定过滤器的对象列表。似乎是一种自然的返回类型。 我注意到确实声明了一个;但它完全是一种不同的类型-作为原始类型返回。我觉得奇怪的是,最近的Hibernate(4.0.x)没有实现参数化类型,所以我怀疑是我做错了什么。 它看起来非常像将Hibernate结果转换为对象列表,但这里没有“硬”错误(系统知道类型Foo,我使用的不是

  • 问题内容: 我想输入2个数字,一个int是要提取的金额,一个double是余额(它们之间有一个空格)。由于每次提款都收取0.5的手续费,因此余额必须加倍。那就是必须打印的内容。我在nextDouble上收到错误,为什么?我只有1个月的编码,我认为这将是小菜一碟,我认为BASIC语法在30年前毁了我:( 问题答案: 它取决于语言环境,请尝试使用逗号而不是点,反之亦然。 例如: 1.5 而不是 1.5

  • 我使用Java11和Spring。我试图通过post将两个对象发送到控制器,但我得到了一个错误。 这里是控制器: 你知道为什么我会得到这个错误以及如何修复它吗?

  • 问题内容: 通过站点登录后,我尝试向该站点发送第二个请求- 但是,当我检查使用FireBug发送的标头时,请求中不包含会话cookie。 我究竟做错了什么? 问题答案: 如果您要调用的URL与您的调用脚本位于同一域中,则AJAX调用仅发送Cookie。 这可能是跨域问题。 也许您是在调用脚本打开时尝试从url 调用的(换句话说:您进行了跨域调用,在这种情况下,浏览器将不会发送任何cookie来保护

  • 我重写了我的代码,以匹配类似问题的其他答案,但它没有修复我的脚本的问题。它发送带有pdf附件的电子邮件,我没有任何错误,但我无法打开文件。我已经尝试了stackoverflow上发布的多个解决方案。 是什么导致pdf在发送后被损坏?我重组了我的网址,但运气不好。 以下是电子表格的url:https://docs.google.com/spreadsheets/d/1wmnw9Nl6B0e8IgVD