私はlansweeperというツールを持っています。ローカルサーバー上で実行されます。今、私はそれからページをこすりたいですが、Windows認証を使用します。 私はスクリプト言語としてPowershellを使用します。 私は主にHTMLAgilityPackを使用してスクレイプします。しかし、私はWindowsの認証を使用するページを擦ったことはありません。Powershellと組み合わせたHTMLagilityPack、Windows認証
誰もが自分の信任状をどのように渡すのか知っていますか?それは特定の資格情報の下でページを開くように? (通常のアカウントではなく管理者アカウントのように)。 (はい、通常のユーザーをLansweeperの許可されたユーザーに追加することはできますが、それは使用したいソリューションではありません)。
私は以下を試しましたが、動作しません。
[Reflection.Assembly]::LoadFile("C:\Scraping\HtmlAgilityPack\lib\Net45\HtmlAgilityPack.dll”)
[HtmlAgilityPack.HtmlWeb]$web = @{}
$webclient = new-object System.Net.WebClient
$username = "user"
$password = "passw0rd-"
$domain = "mydomain"
$webclient.Credentials = new-object System.Net.NetworkCredential($username, $password, $domain)
[HtmlAgilityPack.HtmlDocument]$doc = $web.Load("http://lansweeper:81/user.aspx?username=sam&userdomain=mydomain","","",$webclient.Credentials)
[HtmlAgilityPack.HtmlNodeCollection]$nodes = $doc.DocumentNode.SelectNodes("//body")
私は関数に見て、二つの可能性に出くわしされています:
TypeName : HtmlAgilityPack.HtmlWeb
Name : Load
HtmlAgilityPack.HtmlDocument Load(string url),
HtmlAgilityPack.HtmlDocument Load(string url, string proxyHost, int proxyPort, string userId, string password),
HtmlAgilityPack.HtmlDocument Load(string url, string method),
HtmlAgilityPack.HtmlDocument Load(string url, string method, System.Net.WebProxy proxy, System.Net.NetworkCredential credentials)
Name : Get
MemberType : Method
void Get(string url, string path),
void Get(string url, string path, System.Net.WebProxy proxy, System.Net.NetworkCredential credentials),
void Get(string url, string path, string method),
void Get(string url, string path, System.Net.WebProxy proxy, System.Net.NetworkCredential credentials, string method)
しかし、私はそれらのいずれかを動作させることはできません。誰もPowershellでこれをやったことがありますか?