Benutzer mit den meisten Antworten
Wert einer Http-Seite holen

Frage
-
Hallo Welt!
Wie kann ich bewerkstelligen das ich einen Wert einer HTTP/HTTPS - Seite bekomme den ich als Variable in die Powershell importieren kann.
z.B. Habe eine Homepage in der eine Fläche berechnet wird, dort gebe ich Länge und Breite ein Länge 20, Breite 30.Die Homepage berechnet die Fläche und gibt 600 aus.
Jetzt suche ich ein ComLet das mit die 600 gibt.
$Fläche = Get-
In der Variablen $Fläche soll dann 600 stehen.
Danke
Antworten
-
Du kannst mit dem Befehl Invoke-Webrequest den Inhalt der Seite herunterladen und diesen dann nach dem gewünschten Inhalt durchsuchen. Ein Beispiel gibts z.b. hier: LINK.
Gruß, Denniver
Blog: http://bytecookie.wordpress.com
Neu: Powershell Code Manager v5 ! Link
(Schneller, besser + komfortabler scripten.)
Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
Warum das Ganze? Hier gibts die Antwort.
- Als Antwort markiert Denniver ReiningMVP, Moderator Mittwoch, 3. August 2016 14:01
-
...und dann musst Du natürlich noch schauen, wie Du die Werte übergibst.
Wenn Dein Formular auf GET reagiert, ist es natürlich easy, da musst Du nur die URL um so etwas wie ?breite=20&hoehe=30 ergänzen.
Akzeptiert Dein Formular hingegen nur POST, dann musst Du vorher noch den requestBody komponieren:
$req_body = @{breite='20';hoehe='30'} Invoke-Webrequest -Uri http://meine.websei.te -Method POST -Body $req_body
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (mostly German) -> http://it-pro-berlin.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.comIn theory, there is no difference between theory and practice. In practice, there is.
- Bearbeitet Evgenij Smirnov Samstag, 23. Juli 2016 07:39
- Als Antwort markiert Denniver ReiningMVP, Moderator Mittwoch, 3. August 2016 14:01
-
Moin,
das ist ein schlechtes Beispiel ;-) Die Seite verwendet JavaScript und berechnet die Ergebnisse direkt im Browser, ohne nach dem ursprünglichen Laden der Seite den Server nochmal zu kontaktieren.
Auch so etwas ließe sich vermutlich unter großen Verrenkungen in PowerShell ansteuern und wäre auch eine nette Übung, aber kaum Stoff für einen Forenthread. Da musst Du zuerst HTML und JavaScript richtig lernen...
Die ursprünglichen Werte der Felder kannst Du aber mit
$response = Invoke-WebRequest "http://www.matheretter.de/formeln/geometrie/rechteck" $response.ParsedHtml.all['seite_a'].defaultValue $response.ParsedHtml.all['seite_b'].defaultValue
herausfinden.
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (mostly German) -> http://it-pro-berlin.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.comIn theory, there is no difference between theory and practice. In practice, there is.
- Als Antwort markiert Denniver ReiningMVP, Moderator Mittwoch, 3. August 2016 14:01
Alle Antworten
-
Du kannst mit dem Befehl Invoke-Webrequest den Inhalt der Seite herunterladen und diesen dann nach dem gewünschten Inhalt durchsuchen. Ein Beispiel gibts z.b. hier: LINK.
Gruß, Denniver
Blog: http://bytecookie.wordpress.com
Neu: Powershell Code Manager v5 ! Link
(Schneller, besser + komfortabler scripten.)
Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
Warum das Ganze? Hier gibts die Antwort.
- Als Antwort markiert Denniver ReiningMVP, Moderator Mittwoch, 3. August 2016 14:01
-
...und dann musst Du natürlich noch schauen, wie Du die Werte übergibst.
Wenn Dein Formular auf GET reagiert, ist es natürlich easy, da musst Du nur die URL um so etwas wie ?breite=20&hoehe=30 ergänzen.
Akzeptiert Dein Formular hingegen nur POST, dann musst Du vorher noch den requestBody komponieren:
$req_body = @{breite='20';hoehe='30'} Invoke-Webrequest -Uri http://meine.websei.te -Method POST -Body $req_body
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (mostly German) -> http://it-pro-berlin.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.comIn theory, there is no difference between theory and practice. In practice, there is.
- Bearbeitet Evgenij Smirnov Samstag, 23. Juli 2016 07:39
- Als Antwort markiert Denniver ReiningMVP, Moderator Mittwoch, 3. August 2016 14:01
-
Habe das mit dem Parsen leider noch nicht verstanden.
Wenn ich diese Homepage "http://www.matheretter.de/formeln/geometrie/rechteck/" als Beispiel nehme.
Wie kann ich den Wert der in dem Feld "Seite a:" steht exportieren ? "3" hätte ich gerne.
Wie könnte ich einen Wert z.B. 8 in das Feld "Seite b:" schreiben lassen.
Fragen über Fragen.
Danke Heiko
-
Moin,
das ist ein schlechtes Beispiel ;-) Die Seite verwendet JavaScript und berechnet die Ergebnisse direkt im Browser, ohne nach dem ursprünglichen Laden der Seite den Server nochmal zu kontaktieren.
Auch so etwas ließe sich vermutlich unter großen Verrenkungen in PowerShell ansteuern und wäre auch eine nette Übung, aber kaum Stoff für einen Forenthread. Da musst Du zuerst HTML und JavaScript richtig lernen...
Die ursprünglichen Werte der Felder kannst Du aber mit
$response = Invoke-WebRequest "http://www.matheretter.de/formeln/geometrie/rechteck" $response.ParsedHtml.all['seite_a'].defaultValue $response.ParsedHtml.all['seite_b'].defaultValue
herausfinden.
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (mostly German) -> http://it-pro-berlin.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.comIn theory, there is no difference between theory and practice. In practice, there is.
- Als Antwort markiert Denniver ReiningMVP, Moderator Mittwoch, 3. August 2016 14:01
-
Heute bin ich wieder im Büro und wollte mein neues Wissen anwenden.
Prompt bekomme ich eine Fehlermeldung : Invoke-WebRequest : Unauthorized
This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password)Der Server ist ein Ubuntu 14.01.1 LTS auf dem OTRS (Ein Ticketsystem) läuft.
-
Ja, das OTRS möchte wohl, dass Du dich anmeldest ;-)
Auch dafür hat Invoke-WebRequest einen Parameter...
Evgenij Smirnov
msg services ag, Berlin -> http://www.msg-services.de
my personal blog (mostly German) -> http://it-pro-berlin.de
Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.comIn theory, there is no difference between theory and practice. In practice, there is.