Цитата YuS_2:
Т.е. не существующие IP? "Пустые" - не совсем понятно. »
|
да, те адреса, которые не отдают заголовки (или вообще не рабочие), пропускать и не записывать в out.txt
Отрабатывает прекрасно! Громадный респект Вам!!
Можно ещё тогда вопрос?
так как на обработку каждой строки уходит 3 сек. (да, можно регулировать, понимаю), то прогон достаточно увесистого списока может занять приличное время. Я тут гуглил, и наткнулся на некий асинхронный метод прогона (я так понял это многопоточный, или многопроцессный режим).
Можно попросить вас посмотреть, возможно ли асинхронный метод совместить с вашим кодом?
Пример:
PHP код:
$urllist = 1..97
$batchSize = 20
$results = [System.Collections.ArrayList]::new()
$i = 1
foreach($url in $urllist) {
$w = [System.Net.Webclient]::new().DownloadStringTaskAsync("http://www.example.com?q=$i")
$results.Add($w) | Out-Null
if($i % $batchSize -eq 0 -or $i -eq $urllist.Count) {
While($false -in $results.IsCompleted) {sleep -Milliseconds 300} # waiting for batch to complete
Write-Host " ........ Batch completed ......... $i" -ForegroundColor Green
foreach($r in $results) {
New-Object PSObject -Property @{url = $r.AsyncState.AbsoluteURI; jobstatus =$r.Status; success = !$r.IsFaulted}
# if you need response text use $r.Result
}
$results.Clear()
}
$i+=1
}