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
Please also mark the comments that contributed to the solution of the article
Content-Key: 267264
Url: https://administrator.de/contentid/267264
Printed on: April 24, 2024 at 16:04 o'clock
2 Comments
Latest comment
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