我需要与之交互的 Web 服务(通常是手动进行测试)在某些请求上需要额外的 HTTP 头。使用 PowerShell 的 New-WebServiceProxy进行快速手动测试非常有效,但是到目前为止,我还没有找到向请求添加另一个 HTTP 头的选项。
New-WebServiceProxy
有药吗?
您可以使用 PowerShell 中.NET 的 Web 客户端。
> $webClient = New-Object System.Net.WebClient > $webClient.Headers.add('accept','application/json') > $webClient.DownloadString('http://yourURLhere')
Invoke-WebRequest http://yourURLhere -Headers @{"accept"="application/json"}
引入 POSH 3.0
我感到惊讶的是,这个问题一直没有出现:
$uri = 'http://...' $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $headers.Add('Accept','Application/Json') $headers.Add('X-My-Header','...') $result = Invoke-WebRequest -Uri $uri -Headers $headers
为了完整起见,引用 Header 属性:
Https://msdn.microsoft.com/en-us/library/s4ys34ea(v=vs.110).aspx
在循环中发送授权和执行获取或删除请求的一种更简单的方法
$orders=@("522536","522539") foreach ($order in $orders){ iwr "https://api.taxjar.com/v2/transactions/orders/$order" ` -Method 'DELETE'` -Headers @{ 'Authorization' ='Token token="34625gdsgd74rghdg4"'} }