Powershell: Invoke-Webrequest
Hallo Zusammen,
ich muss mit der Powershell Daten aus einer Online-DB abrufen. Leider habe ich das Problem, dass manche der Daten Umlaute enthalten. Diese werden mit ? ersetzt.
Hat einer von euch hierzu einen Lösungsansatz für mich?
<code/>
Invoke-WebRequest https://LinkzurDB -headers {"Anmeldedaten"} `
-Method Get -ContentType 'application/json; charset=utf-8' | Convertfrom-Json
Vielen Dank.
Grüße,
Tiberius
ich muss mit der Powershell Daten aus einer Online-DB abrufen. Leider habe ich das Problem, dass manche der Daten Umlaute enthalten. Diese werden mit ? ersetzt.
Hat einer von euch hierzu einen Lösungsansatz für mich?
<code/>
Invoke-WebRequest https://LinkzurDB -headers {"Anmeldedaten"} `
-Method Get -ContentType 'application/json; charset=utf-8' | Convertfrom-Json
Vielen Dank.
Grüße,
Tiberius
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 267264
Url: https://administrator.de/forum/powershell-invoke-webrequest-267264.html
Ausgedruckt am: 22.12.2024 um 19:12 Uhr
2 Kommentare
Neuester Kommentar
Hallo Tiberius,
hast du mal mit F12 im Browser in den Header der Seite geschaut welches Encoding die Seite dem json mitgibt ?
Vermutlich haben es die Entwickler nicht richtig in UTF-8 umgewandelt. Und gibt die Seite wirklich nativ application/json aus ? Check das auch auf dem Tab Netzwerkanalyse der Browser-Developer-Tools.
In Powershell gibt es aber noch eine Funktion die für JSON Kodierte Daten besser geeignet ist: Invoke-Restmethod, damit werden die Daten gleich als Objekt geliefert und müssen nicht mehr durch ConvertFrom-Json gejagt werden.
Und wie überprüfst du die Ausgabe, in der Powershell-Konsole / ISE oder in einer Textdatei-Ausgabe ?
Wie ist bei dir das $OutputEncoding eingestellt ?
Grüße Uwe
hast du mal mit F12 im Browser in den Header der Seite geschaut welches Encoding die Seite dem json mitgibt ?
Vermutlich haben es die Entwickler nicht richtig in UTF-8 umgewandelt. Und gibt die Seite wirklich nativ application/json aus ? Check das auch auf dem Tab Netzwerkanalyse der Browser-Developer-Tools.
In Powershell gibt es aber noch eine Funktion die für JSON Kodierte Daten besser geeignet ist: Invoke-Restmethod, damit werden die Daten gleich als Objekt geliefert und müssen nicht mehr durch ConvertFrom-Json gejagt werden.
$result = Invoke-RestMethod -uri "https://LinkzurDB" -Method Get -Headers {"Anmeldedaten"}
$result
Wie ist bei dir das $OutputEncoding eingestellt ?
Grüße Uwe