2012-10-03 47 views
1

我們在這裏有一個多米諾骨牌/蓮花web服務,我想與powershell一起使用。我沒有找到PowerShell如何通過HTTP autentification然後使用webservices(蓮花/多米諾骨牌)

問題是在webservices蓮花管理員面前問一個http autentification。

我該如何使用此webservice?

在這裏,我tryed首先報廢第一頁,並獲取cookie。

$url = "http://xxxxxxx/names.nsf?Login" 

$CookieContainer = New-Object System.Net.CookieContainer 

$postData = "Username=user***&Password=pss***" 

$buffer = [text.encoding]::ascii.getbytes($postData) 

[net.httpWebRequest] $req = [net.webRequest]::create($url) 
$req.method = "POST" 
$req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" 
$req.Headers.Add("Accept-Language: en-US") 
$req.Headers.Add("Accept-Encoding: gzip,deflate") 
$req.Headers.Add("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7") 
$req.AllowAutoRedirect = $false 
$req.ContentType = "application/x-www-form-urlencoded" 
$req.ContentLength = $buffer.length 
$req.TimeOut = 50000 
$req.KeepAlive = $true 
$req.Headers.Add("Keep-Alive: 300"); 
$req.CookieContainer = $CookieContainer 
$reqst = $req.getRequestStream() 
$reqst.write($buffer, 0, $buffer.length) 
$reqst.flush() 
$reqst.close() 
[net.httpWebResponse] $res = $req.getResponse() 
$resst = $res.getResponseStream() 
$sr = new-object IO.StreamReader($resst) 
$result = $sr.ReadToEnd() 

這似乎工作,但現在不知道如何我可以使用Cookie與webservicesproxy ??? 或者更好的方法來做到這一點?

PS:我的成功有這個用C#+ VisualStudio的(只是類的引用是autobuilt,我不明白一半的這一點,但它允許我用.CookieContenaire上生成的Web服務)

回答

0

有工作您是否嘗試使用內置的webservice cmdlet?

$webservice = New-WebServiceProxy -Uri "http://xxx/names.nsf?Login" -Credential (Get-Credential) 
相關問題