Powershell Seite laden und schreiben
Hallo,
ein Skript soll eine Seite laden und gleichzeitig den Content in eine Datei schreiben - es soll nicht laden und danach schreiben. Es geht nicht um Speicher, sondern die Verbindung bricht ab und nur ein kleiner Teil wird tatsächlich benötigt.
Also sowas geht nicht:
Geht sowas mit PowerShell?
Danke
ein Skript soll eine Seite laden und gleichzeitig den Content in eine Datei schreiben - es soll nicht laden und danach schreiben. Es geht nicht um Speicher, sondern die Verbindung bricht ab und nur ein kleiner Teil wird tatsächlich benötigt.
Also sowas geht nicht:
$jobScript = {
param($url, $outfile)
$response = Invoke-WebRequest -Uri $url
$response.Content | Out-File -FilePath $outfile
}
Geht sowas mit PowerShell?
Danke
Please also mark the comments that contributed to the solution of the article
Content-ID: 14211180272
Url: https://administrator.de/contentid/14211180272
Printed on: December 2, 2024 at 16:12 o'clock
4 Comments
Latest comment
Moin,
Gruß Thomas
Zitat von @Marabunta:
leider nicht, ich will sozusagen die halbe datei haben, wenn ich strg+c drücke.
sicher geht dasleider nicht, ich will sozusagen die halbe datei haben, wenn ich strg+c drücke.
Invoke-WebRequest -UseBasicParsing -Uri $Url -OutFile $outfile
Gruß Thomas
Aloha!
Oder alternativ zu Invoke-Webrequest "zu Fuß" mittels HttpClientStream
Du kannst damit auch nur eine bestimme Anzahl an Bytes/Zeilen/Strings aus dem Stream lesen wenn du nur wenige bytes von den Seiten brauchst, System.IO.Stream bzw. der System.IO.Streamreader haben mehrere Methoden dafür an Bord, dann brauchst du auch nicht mit STRG+C abbrechen sondern liest so lange den Stream aus bis das kommt was du suchst.
z.B.
PJ
Oder alternativ zu Invoke-Webrequest "zu Fuß" mittels HttpClientStream
Add-Type -AssemblyName System.Net.http
$sr = [System.IO.StreamReader]::new([System.Net.Http.HttpClient]::new().GetStreamAsync("https://raw.githubusercontent.com/blocklistproject/Lists/master/everything.txt").GetAwaiter().GetResult())
while(!$sr.EndOfStream){
$sr.ReadLine() | Add-Content ausgabe.txt
}
z.B.
Add-Type -AssemblyName System.Net.http
$sr = [System.IO.StreamReader]::new([System.Net.Http.HttpClient]::new().GetStreamAsync("https://raw.githubusercontent.com/blocklistproject/Lists/master/everything.txt").GetAwaiter().GetResult())
while(!$sr.EndOfStream){
$line = $sr.ReadLine()
# suche nach Text in der Zeile
if ($line -like '*10bet.com*'){
# mache etwas wenn gefunden
write-host "Zeile gefunden"
# breche die Schleife ab
break
}
}
$sr.Dispose()