Selon mes journaux de serveur, le script suivant semble faire deux requêtes Web au lieu d'une. Chaque fois que la deuxième demande est exactement 2 minutes plus tard. Je ne veux qu'une seule demande. Qu'est-ce que je rate?Pourquoi ce script powershell fait-il deux requêtes Web (System.Net.HttpWebRequest)?
# create the web request
$request = [System.Net.HttpWebRequest]::Create($url)
# set the timeout to 1 hour
$request.Timeout = 3600000
# get the response and stream
Write-Host "GetResponse() start"
$response = $request.GetResponse()
Write-Host "GetResponse() done"
Write-Host "GetResponseStream() start"
$stream = $response.GetResponseStream()
Write-Host "GetResponseStream() end"
# read the stream
Write-Host "Read stream start"
$reader = New-Object IO.StreamReader($stream)
$html = $reader.ReadToEnd()
Write-Host "Read stream end"
# output the html response
Write-Host $html
# clean up resources
$reader.Close()
$stream.Close()
$response.Close()
Write-Host "Done"
Combien de temps ce script prend-il pour s'exécuter? –
Entre 5 et 15 minutes. – jrummell
Pour éviter les problèmes de délai d'attente dans la page Web demandée, j'ai utilisé ThreadPool pour démarrer un nouveau thread afin de prendre en charge les tâches gourmandes en temps. Le script ps fonctionne maintenant très rapidement et ne fait qu'une seule requête web. Je suis toujours curieux cependant. – jrummell