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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 14211180272
Url: https://administrator.de/contentid/14211180272
Ausgedruckt am: 24.11.2024 um 02:11 Uhr
4 Kommentare
Neuester Kommentar
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()