2015-02-05 35 views
0

在某些服務器上,我有一個運行作業的ASP.NET處理程序。這份工作可以輕鬆運行10分鐘。我在構建服務器上使用此腳本使用Powershell調用此處理程序:使用webrequest輸出部分請求Powershell

$url = 'http://<joburl>' 

$response = Invoke-RestMethod -Uri ($url) -method GET 
Write-Output -InputObject $response 

這工作正常,只是調用URL並讓該作業執行。但我的工作是顯示狀態信息。它會不斷刷新輸出緩衝區以在請求期間顯示此消息。所以在瀏覽器中,當它還在等待工作完成時顯示這些消息。我的Powershell腳本在請求完成後顯示這些消息。當請求仍在加載時,有什麼方法可以顯示這些狀態消息嗎?

+1

而不是將返回值存儲在var然後輸出它們,請嘗試Invoke-RestMethod -Uri('http:// ') - 方法GET – StephenP 2015-02-06 01:34:26

+0

謝謝!但不幸的是,這似乎沒有幫助。我仍然沒有直接打印輸出。 – 2015-02-06 16:44:09

回答

0

如果您想要實時查看結果,請確保您沒有將結果存儲到變量中。這是一個很好的介紹invoke-webrequest。這裏是一個示例。

這將直接輸出到控制檯,因爲它進來並被解析。

Invoke-RestMethod -Uri "https://gdata.youtube.com/feeds/api/videos?v=2&q=Powershell" -Method GET 

這會將所有數據存儲在一個變量中,等待接收所有數據,然後將數據輸出到控制檯。

$result = Invoke-RestMethod -Uri "https://gdata.youtube.com/feeds/api/videos?v=2&q=Powershell" -Method GET 
$result 

試試這些示例,看看這是否是您遇到的問題。

0

你需要的是Invoke-WebRequest。因此,您可以通過名爲Content的屬性獲取對象,因此您可以執行以下操作:

$(Invoke-WebRequest <uri>).Content 

從您的頁面獲取結果。

希望有幫助!