发送多个Web请求

时间:2016-12-20 11:04:59

标签: powershell

我有以下代码,因为我正在尝试向Spectra磁带库发送多个请求 -

**

$results = Invoke-WebRequest -Uri "http://spectra1/gf/login.xml?username=administrator&password=xxxxxxx&forceFrontPanel
$results = Invoke-WebRequest -Uri "http://spectra1/gf/driveList.xml?action=list" -OutFile c:\temp\drivelist.txt

**

第一个结果很好,它登录但是一发送第二个命令就说: -

<?xml version="1.0"?>
<error>
  <message>You must go to login.xml and login before operating the library</message>
  <description>---- Error: No active session found.  
Visit login.xml to specify your username and password
</description>
</error>

任何帮助?

1 个答案:

答案 0 :(得分:0)

玩具应该通过登录保存您的会话并将其用于第二个请求。像这样:

$results = Invoke-WebRequest -Uri "http://spectra1/gf/login.xml?username=administrator&password=xxxxxxx&forceFrontPanel" -SessionVariable spectra1Session
$results = Invoke-WebRequest -Uri "http://spectra1/gf/driveList.xml?action=list" -WebSession $spectra1Session -OutFile c:\temp\drivelist.txt

-SessionVariable spectra1Session将会话保存在变量$spectra1Session中,然后-WebSession $spectra1Session保存以使用已保存的会话。