2017-09-13 14 views
0

次のコードの作業中です。Powershellでデフォルトの資格情報を使用してWebリクエストを実行する方法

$HTTP_Request =[System.Net.WebRequest]::Create('http://google.com') 
$HTTP_Response = $HTTP_Request.GetResponse() 
$HTTP_Status = [int]$HTTP_Response.StatusCode 
echo $HTTP_Status 

しかし、クライアントが許可されていませんし、そのために私はそれが私の既定の資格情報を使用して実行する必要がありますされて401を返すいくつかのURLが存在するので、私は、私の既定の資格情報を使用して、それを実行したいです。

誰かが私にいくつかのURLのステータスを保存したいと思いますが、このコードは保護されているもの以外は正常に動作しています。

答えて

0

ここでは、既定の資格情報を使用しながら、そこで問題は、Web要求を実行するためにだった私が見つけた解決策は以下のとおりです。PowerShellの2.0の

: - :

try{ 
$res = Invoke-WebRequest $uri -UseDefaultCredentials 
} 
catch [System.Net.WebException] 
{ 
$res = $_.Exception.Response 
} 
$int = [int]$res.StatusCode 
echo $int 
- PowerShellの3.0の場合

$req = [system.Net.WebRequest]::Create($uri) 
$req.UseDefaultCredentials = $true 
try 
{ 
$res = $req.GetResponse() 
} 
catch [System.Net.WebException] 
{ 
$res = $_.Exception.Response 
} 
$int = [int]$res.StatusCode 
echo $int 

どちらのスクリプトもうまくいっていますが、多くのURLのコードステータスを確認するには、powershell 3.0を使用する必要があります.Web-Requestをより良い方法で処理します。

関連する問題